It's a little bit trickier though, if you're selling hardware with a one off cost and not a subscription. Because your installed base grows even with flat revenue. The lifetime cost of CS (including the calls from people who need to be turned down) needs to be baked into the sales price, but that's a bet.
My experience is with enterprise software, where most products were born as shrinkwrap and slowly moved to other models, and I agree, it's not an easy problem to solve. Even if you size lifetime costs correctly (and very few people can), it is quite hard to scale a support org; even if one can see the storm coming, one might not be fast enough to be prepared for it for a number of reasons (geography, capital investment, training times, churn, brain drain, etc etc).
That's why some big names have literally declared support bankruptcy and just don't provide almost any support (google, amazon...).