Presently, the CEO decides.
In olden days, I think the Board of Directors decided. These days, they mostly seem to be rubber-stamps for the CEO and his/her Compensation Committee, so there's little wonder that CEO pay has exploded.
Who decides? Maybe someone other than the CEOs for a change?
But more than that, I reject the premise that companies have to pay CEOs millions or tens or hundreds of millions of dollars a year in salary and other compensation. The largest industrial organization in the world is the US Department of Defense. ($515B+ in FY09). The head of the DOD - the Secretary of Defense - makes something like $191k a year.
"Oh, but that's different..." Sure. But it shows that qualified people can be found to do complicated jobs that involve millions of people and hundreds of billions of dollars for salaries much less than $1M per year. Companies who paid their executives more weren't looking out for the owners and the health of the company as a whole.
BTW, Jack Welch seems to finally agree:
http://www.npr.org/templates/story/story.php?storyId=95038679
FWIW.
Cheers,
Scott.