If U.S employers can’t use H-1 visas to bring qualified workers to the U.S., they will outsource the job to India. Which is better — having the job in the U.S. filled by a foreign worker, or having the job in a foreign country filled by a foreign worker. That is the choice. I would prefer the former.
That's not much of a choice. If was was one of those two, I'd prefer the latter, and this is why:
Either way the American worker is out of a job. He loses in both cases. However, if the job is here, the company pays taxes and supports the decision to go with H1-B. Move that job out of country, and the state and federal government loses out on any taxes that job brings in. Lose enough of those jobs and the gov't starts looking harder at its own policies and will bring those jobs back--to American workers.