Actually, as a pro-H1B supporter, you're wrong.
I fully acknowledge that there's something wrong. Companies like TaTa being able to bring over tech-workers for non-specific, non-highly-skilled generic coding jobs, and then contract them out is very very very wrong. What that does is generates immigration of people with mediocre skill sets, who will likely be net neutral on the economy, but a net negative on the wages of people working in the tech sector.
That's really not good.
On the other hand, what H1B should do (exclusively - it does this anyway, but it should *only* do this) is allow companies to hire people for very very specific jobs, with very very high wages, where it's not possible to find someone else to do it. There absolutely are legitimate H1B workers coming in and doing jobs for Google/Apple/FB/MS etc that no one else in America has the skills to do, and being paid multiple hundreds of thousands of dollars a year. That's good both for tech employment (as it makes products possible that weren't before, and in doing so makes companies more profitable, and hire more people), and for the economy. An all round win.
I can assure you, that if companies like Google/Apple/FB/MS could hire Americans for a role, they would not jump through the hoops of hiring a European for $200,000 a year, plus $150,000 worth of moving them to the US, plus tens of thousands of dollars in paying for visas and green cards. The key is to make sure that all H1Bs are for that kind of role, not the bullshit that TaTa does.
[Disclaimer] I'm an H1B holder working for one of the above companies in a very specialist area.