Depends on the corporation. Walmart only makes about $10,700/employee in profit, for example (about $6/hour if all employees work 35 hours). Since walmart typically pays $10-12/hour at minimum, employees are capturing about 2/3 of the value they create.
http://www.advfn.com/p.php?pid=financials&symbol=NYSE:WM...
Of course, the numbers will be wildly different at a software company. Most programmers don't capture anything like 2/3 of their created value.
But I found data more useful to the tech industry. If MS or GOOG pays their employees $200k/year, then employees are capturing about half of the value they create [1]. Worse than Walmart, but not that bad.
http://royal.pingdom.com/2009/05/14/congratulations-google-s...
[1] This is actually a fallacy, since it assumes all returns are due to labor, not capital.
That said, as someone who has been through this, I think your advice is a naively optimistic oversimplification of the forces that hold programmers back from getting paid more and, for the most part, people who follow your advice will still end up getting paid less than business analysts and project managers for cultural reasons expressed by some of the answers on that page.
The only difference is, with your approach, they may feel as if they have done everything they could, rather than suffering in quiet resentment (and, from a psychological perspective, this is not to be underestimated).