Serously, I find it amazing that these companies would pay to move a worker from Calcutta but not from Omaha. "Oh we looked in Silicon Valley's and Seattle's rarified labor markets and couldn't find anyone... so now we must look overseas!" Why don't they hire from Nebraska or Kentucky? Why?....because it never even enters their minds.
Next, H1-Bs don't create jobs because they are not allowed to start a company. The system is designed that way. (OK, legally they can create a corporation on paper, but the condition of their visia is that they are only allowed to be employed by their sponsor and aren't allowed to be employed by or draw salary from their own company, so the practial effect is they can't work for their own start-up). If they are creating companies and they or their famlies are working for the start-up, it's a violation of their visa.
Here's how to quash this BS. Create a national registry of unemployeed STEM workers and make them offer to pay the moving costs to move the employee from whereever to the job site. NATIONAL, not just Seattle and San Jose. Make them hire off that list before they can go overseas. If they can show they offered a job and offered a move to somebody in the US and got turned down six times, then they can do the H1-B thing.
Next, if they do hire a H1-B because there is no "qualified" american worker, make them sponsor a scholarship in that field and train somebody until they are qualified. If they hire an engineer on a H1-B, then they must pay the scholorship and internship for an american to make him qualified. That newly minted engineer now goes into the job pool.