There's another good article in the NY Times about efforts to downsize the number of generals and admirals in the military. This leads me to a few thoughts.
First the government needs to do this throughout the bureaucracy. Top heavy bureaucracy has been a problem for years and trimming needs to be done not just in the armed forces but in the federal, state, and likely (though this I'm less sure of) municipal levels. We have too many high ranking people relative to lower level people. This is not a natural distribution for an organization.
Second, we need to do this in a way that keeps career opportunities open. There are problems with up or out systems that are present in some areas of the federal bureaucracy. You don't want to get rid of someone with good skills just because there's no place, and you don't want to promote someone with specialized skills just because to keep them you need to move them up. There should be ways to compensate people for needed skills without necessarily having a bureaucracy full of senior staff.
Last, we need better ways to reward people without having to promote them. Paying people's salary isn't really that big a part of government expenses. I have no problems with good pay, people doing hard work should get rewarded. The problems are the high benefits down the line as well as not creating good career paths and new leadership lower down in the ranks which is made more difficult by top heavy organizations. The focus should be on rank inflation, not on people's salary.