The problem with the H1B program is that it discourages Americans from entering IT fields by driving down the wages in those fields. It sends the message loud and clear that IT is not what you want to study if you want to succeed.
This is certainly true.
But companies have the options of offshoring some of their IT, although this is not as easy as it looks.
There is also a trend to world wide wage equalization. Wages in India are already approaching 40-50% of US wages for highly skilled people. In fact, they were paying MBAs with IT project management experience MORE than in the US, because they needed them so badly.
Other fields may be offshored too. Accounting, law, investment banking can all be done elsewhere. Only doctors and dentists are safe for now.