There are companies like Cognizant/InfoSys/Tata/... whose business model is based on abusing the H1B system, and that's obviously wrong and I'm quite surprised they get away with it. I'm not defending that.
To those who broadly argue against skilled visas, consider this: Most H1B immigrants are between 20-30 age range. The prime age to join the workforce. Think how much investment you have to make on a child's health care and education to make them into a highly skilled workforce. It would at least cost you 1$M and probably much more. Now all these immigrants have learned your language, passed job interviews, and are competing to come to your country to give you 1$M and help your economy. Why would you not want that? People seem to think that number of jobs is a limited constant and if you stop immigrants that will have a positive effect on the economy. But in reality companies can simply just scale. If they have more workforce they can do more. Things get done faster and they just make more profit. Stopping immigration obviously would dent the economical growth. Never mind that many top tech companies in the US were founded by immigrants or children of immigrants.
To those who say we must invest in local workforce, I wonder why would you have to stop immigration to start investing in local workforce? As if allowing immigration would reduce the amount of money for investment, while in reality immigrants pay taxes. I personally have paid hundreds of thousands of dollars in taxes so far. I'd be happy if this money was used to educate the American workforce. However I know that it doesn't. I would like to see that change.