Before I got married, I surprised the future Mrs. with a dozen roses (that I picked up for $9.99 on sale): and expressed the following:
"I got these as a symbol of my love for you. I'd much rather surprise you with things like roses when you don't expect them than give them to you on days when other people think they're mandatory. When you get them, it means 'I love you.' For too many people, roses on Valentine's day only mean 'it's valentine's day and I have to get you roses twice a year' For some wives, getting a dozen roses on Valentine's day only means that the husband has a good secretary who can take care of things like that for him."
I've never had to buy roses on Valentine's day since. It's a non-obligatory gift giving holiday for us (we'll go out for dinner). It may work for you too, if you try it, but you have to remember to surprise her a few times during the year. (Usually when roses are on sale!!). Just start with "honey, I've been thinking. Why should we be forced to pay inflated prices for gifts for each other just because Hallmark says so? Let's just go out to dinner this year" Grab a $25 restaurant GC from ebay for cheap, and treat her to a nice dinner. If you play your cards right: "I know you're not as shallow as other women", "my friends secretary sends the flowers"