Speaking as a still-H1B techie, there are of course several shades in this issue, it's not black-and-white and definitely not pitch-black like this blog. In the bright side, I can assure you that my compensation at Google is above market average; also the company immediately sponsored my GC process so very soon I expect to be free from "H1B indenturing". Except there's no indenturing, because my stock grant is plenty motivation to not leave the company any time soon (not to mention amazing work etc.). I cannot speak for every Google hire on H1B, even less for other companies like MS; just giving my personal experience FWIW.

On the other hand, in a previous gig in the US (I first came through another H1B sponsor), I've suffered myself the consequences of low-grade H1B/tech hires; spent a few months in one of those Wall Street companies, sweating to salvage some horrendous code written by Wipro people who filled whole teams of said company. The problem of course is not their origin--I've also worked some great engineers from India--the problem is the H1B rules and GC backlogs, many Indians have to wait 10+ years for their GC, so they are easily victimized by abusive sponsors. (Some of what I say here apply to Chinese too, but let's avoid "India/China" repetition.)

To be fair, these extreme GC processing times are for EB3 (the lowest-skilled people); it could be argued that simply denying H1B for any Indian who wouldn't later qualify as EB1 or EB2 would make things better both for the American job market, and for the Indian engineers who are actually high-skilled. This solution can look unfair to others, but then again, it's hard to find a solution that's fair to everyone. For one thing, India/China's massive population is a problem; in a system without any per-country restrictions or backlogs, but with global restrictions like total H1B/year quotas, these two countries could swamp the immigration system (even more) in detriment to people from other countries who also don't have the benefit of large companies specialized in bringing people from your country to the US, or the network effect of a big, existing immigrant community. But even the EB2 backlog for Indians is long enough to often run into the 6-year H1B limit.

Another suggestion I have can sound like socialist heresy to many American ears, but... hell, just regulate the job market a little better. Or at least do that for people on H1B. Overtime work should be paid, with a premium rate of 50% minimum. Certain benefits such as decent healthcare coverage should be also mandatory. "Prevailing wage" should include average income from bonus and equity, in jobs where these benefits are prevailing. H1B workers should be allowed to easily transfer to another employer, with the only requirement that the new job pays equal or better in both salary and benefits. Companies that sponsor H1B's visa/relocation costs should be required to consider such costs fully paid in 12 months (that's typically enough to amortize those costs, as they typically put people to work in consulting jobs but take a fat markup on their salaries). Rules like these mean that H1B's would be even in some disadvantage competing with natives, but that's a good thing, would make the arguments in favor of H1B true which is good for Americans. And for us immigrants, the process wouldn't be any worse; I'll rather face the challenge of higher requirements of qualification before moving to another country, than the problem of moving easily just to be exploited for years and even suffer prejudice from native workers who blame immigrants for their low wages.