In essence, we have a limited "guest worker" program that allocates most of the economic benefits to the company (in terms of a compliant workforce that has little incentive or ability to take their skills to a competing company that might offer a better salary or career options) while allocating most of the costs to the actual H1B workers AND the US Citizens and permanent residents who have to compete with a pool of workers that will accept lower pay with little in the way of bargaining power. Great deal for companies. Terrible deal for individual workers (on both sides).
I can sympathize with a company having trouble hiring talent. There is an acute shortage of capable, knowledgeable workers trained in the skills that industry needs. I just happen to think that the H1B program is a poor solution to it.
The better option would be for us to offer a form of permanent legal residency to workers who have critical skills that make them attractive to industry. Once they are here, permanent residency along with all of the benefits that entails (freedom to travel, freedom to change jobs) should be part of the package.
I know we do something like this using a scoring system but frankly I think it's administered very poorly based on what I've heard from others. We can do better.
I don't like the idea of a permanent underclass with fewer rights than others. We should encourage emigration and settlement from cultures that integrate well with ours and have the best possible chance of success in our social and economic systems.
Too little is written about the cadre of interests that benefit from illegal immigration of low-status individuals. It may seem cruel, but we do nobody a favor by allowing illegal immigrants to hide in the shadows and subject themselves to abuse at the hands of those that would profit from their lack of power or ability to go to the government for help.