There's a solution, but it's radical: a massive push in the direction of social equality, decoupling one's material well-being and lifestyle (somewhat) from one's job position. Right now, the perks associated with a corporate leadership position are so obscene as to create an incentive for the wrong people not merely to put themselves forward for these positions (which could be attributed to a benign overestimation of one's skill) but to actively manipulate the system.
Obviously, society needs to encourage and reward hard work, but the mainstream corporate approach is seriously broken. Hard jobs should pay more than easier ones, and high-ranking jobs should only be available to those with sufficient experience and knowledge, but the concept of a job title as a reward for previous accomplishments (work for less than you're worth now, maybe be an overcompensated and famous CEO later) has proven itself to be a practical disaster, in addition to the model's ethical problems.
The main reward for a high-power job should be the work itself, so that those who fill the positions are likely to be people who actually want to do the job (and are likely to be good at it) rather than those who want the salaries and status. 95% of Fortune 500 executives are not people who want intrinsically to run companies; they want the perks.
Regarding material rewards, that's a matter of "getting the stakes right"-- not so low as to be insulting (since trivial rewards/costs are less incentive than intrinsic motivations) but not so high as to encourage people to lie about their talents, skills, and work ethics (more than they already do, human nature being what it is).