When the CEO comes in and rambles about printers not working - then let him choose between printer and a penalty for not meeting deadline for project X.
What I've learned in my years in IT (about 12 total, 10 of those as an IT manager) is that you never go to a manager with only a problem. You go in with a problem and at least 3 well thought-out solutions. Waiting until some other shit hits the fan will only put you in a bad light and will show you are passive aggressive. Instead, give him your own hard numbers. Document the troubles and impacts, tell him how much of each persons average work week is spent on help desk calls and how late that made some big project X. Tell him how much time your programmers are spending helping other tasks. Then tell him how much time you put in in an average work week, and how much you would need to get everything done (i.e. if you're working over 50, that's grounds for 1/4 person. If instead you need over 50 to get the job done on time, ditto).
As a manager, it's your job to take care of your folks. Have a meeting with them and get their hard numbers, %time doing things, how late they anticipate things being, how many hours they work, etc... Then go in to the boss and tell him those facts and three possible solutions (for example): 1) We need X more bodies to do this and that. 2) We focus on the big projects and let help desk issues slip and miss deadlines or 3) We miss out on deadlines and opportunities because we have N hours per week dedicated to help desk work, when we should have Y.
Not contradicting you but making a tangential point. The main problem with your line of thinking is that you still think like an "IT Manager" or any first line manager. I've seen that in many cases, it is worthwhile to think like an entrepreneur instead.
The main problem is that IT has become perceived as a background problem or a fixed cost. Like electricity or water supply. We're nothing but glorified plumbers as far as senior management is concerned.
You cannot fix this by presenting an IT Manager type solution. They would perceive it the same way you would if your plumber told you about the three different ways he would solve your basement leak problem. While you would be interested in getting it fixed and getting it fixed "right" in a reasonable price, you really don't give a crap for the details or even how it gets done and with how many people.
You fix this by changing their mentality. Get them to believe that IT doesn't come for free (as a fixed cost on the balance sheet), and is not a cost center. Get them to believe that IT is really a "pay as you go" kind of service or capability. Get them to believe that IT is a profit center in itself. That it is an independent entity.
Infosys or IBM or Accenture is your competition. So treat them as such instead of just bitching about them in general (you didn't say that, just saying in general). You need to either match their cost or need to differentiate yourself (and your IT team) as a crack high quality and super reliable team.
I admit this stuff is easy to say, and much harder to do. But this is how it should be done, IMHO.
You know, the more I think about this, the more I realize that the real skill a good IT or software manager needs, at least in these types of roles, is really a good understanding of how finance works in an organization. Stuff like charge-back, reconciliation. I mean, if we were an independent contractor team handling a company's IT, this is exactly what we would be concerned with. Work is fine, but we and our organization needs to get paid correctly and on time.
I'm only talking about organizations where IT is a sub-organization. Of course, in pure IT shops or software development or software product shops, the dev team IS the profit center. So the point becomes moot.