First off, I do not believe that a JAVA programmer should be making 100K a year. Any software program is an extension of logic and organizational skills. True, that in the early years, when supply was scarce, the programmers could command 100K, but now every Indian from the fifth grade onwards knows JAVA and C++. The demand for programming skills is there, but the supply is more than meets the demand. It is simple. The wages will decline, that is logical too. The question is does the American programmer want to work at a reduced wage due to increase in supply?
Next, in an Global economy, there is an equilibrium that is reached between the participants - that's one of the laws of economics as defined within the "Wealth of Nations."
Now as to the standard of living here in the US. My impression is that many of our families are living beyond their means. That is good for our banking systems, and service providers. In many families both the parents are working to project their status and material goods - all commendable by our standards, but at the same time look at what is happening with the Indians. Upon graduation from University, the child lives with the parent. He or she goes to work for a firm specializing in software outsourcing. The Indian is working for 30 -50% less than the American counterpart. The Indian's lifestyle in an extended family is such that the wage is more than adequate to meet his or her's needs. There is an economy of scale in effect in India. This is not possible here in the US. No college graduate will be a part of an extended family - therefore the need for higher wages than the (global) norm, etc.
Final point: you cannot mess with supply and demand unless you also manufacture a phony economy. Lower wages for programmers and engineers is the norm and will be until there is equilibrium between the co-joined economies.
And does that make you "the diviner of how much each profession should get paid"? How much is a worker worth? I would say, "as much as they are getting paid". That's Capitalism 101.
I'm opposed to the way the H1B visa situation was concocted, because I don't think it treats the visa holders fairly. I have no problem with them being here. I went to school with plenty of foreign guys in engineering school. Some of them were my best friends, and many of them became H1B workers upon graduation... And they got treated to a sub-average salaries and treatment until they became permanent residents. Also, if an H1B visa holder is fired from a job, he will almost always face immediate deportation. Not true for a citizen worker. This is not equal competition.
This distortion of capitalism could be fixed by giving all of these guest workers permanent residency immediately... essentially rights on a par with citizen workers. Then, if they can win jobs away from Americans, at least it will be a fair competition.
If the H1B visa situation was not a distortion of capitalism, then you wouldn't see: 1. the big jump in their salaries after receiving permanent residency (received after ~5 years) and 2. the former H1B workers quitting their indentured servitude jobs after receiving permanent residency.