Companies that hire H1-B's as a way to cut costs are a huge problem. I also think the youth of America is to be blamed as well. A degree in Computer Science is just too difficult for the current "me" generation. Their self-absorbance, their need for instant gratification, and their overall laziness appall me.
You are quite right. PhD research scientists with necessary qualifiactions in a desired field, or combination of fields, are hard to find. I'm on an H1B while waiting for permanent residency and I'm aware of the employment situation. There might only be a handful of such experts in the world for a given type of research position and the H1B program is a good way to bring them in when U.S. recruiting comes up empty. But when companies sponsor mass groups of people just to cut labor costs, that is a big problem.
It's just supply and demand at work here (and of course the supply is elevated by the H1Bs) - if salaries for CS majors were higher, i.e., less supply and/or more demand, you'd see a lot more people investing the effort to enter the field.
Personally I'm wondering why I worked my @$$ of in engineering school to watch teachers make more than me for 3/4 of a year's work.
I don't think it's laziness. The threat from outsourcing and H1Bs has been covered on the thread. In posts 18 and 23 I noted similar situations in accounting and potentially nursing. If I'm a college student with thoughts of earning a living, the H1B program would discourage me from IT, discourage me from nursing, and perhaps convince me to become a CPA. And in a few years employers would be complaining about the shortage of IT workers and nurses. Even higher education doesn't operate in an economic vacumn.