"these large tech firms hire H-1Bs out of necessity, and not to keep wages down".
I generally agree with you in an immediate, present sense. Google doesn't hire H1B workers specifically to suppress the salaries of the local workforce.
Even so, I'm suspicious of the program. Here's why - immigrants to the US (about 1.2 million annually) are generally free to pursue their educational and career path as they please. They can study nursing, medicine, or dental hygiene. They can open a sandwich shop or a hair salon, install drywall, or save a bit of money and try to pursue a dream of becoming an artist or writer.
Now, clearly working at google is something a lot of smart people who have that right to choose would wish to do. However, don't forget that those smart people with US citizenship had the right to major in economics or history and apply to law school, or study bio or chem and apply to med school, or major in music or art! They chose to major in STEM and work at Google, they weren't required to as a condition of living and working in the US. Is that a market failure that the government should get involved in correcting by allowing people to immigrate only if they study what google says they should study, work on what google says they are allowed to work on? Funny how people differ on this. Some think, look it's a good job, pays well, I'm sure it's fine. I have a much stronger reaction to this - I guess I just feel very strongly that if people are choosing not to do something, there's probably a damn good reason for it.
Yes, I don't see Google as an insidious user of this visa, deliberately using it to fire people to replace them with workers whose options are limited and can be coerced into working for less. But it does still give them an end-run around the concept of free labor markets.
Google pays good wages, but you know, the market still has spoken. If google is having trouble getting people with choice to pursue grad degrees in CS instead of law or medicine, that really is the market's answer. If a typical salary for an SSE at google were $350k, would that change things?
This is why I generally don't like any sort of immigration system that limits personal freedom. I think people, immigrants and otherwise, should be free to pursue their career path in accordance with their interests and abilities. By and large, I think people make OK decisions, they don't need the government and google deciding that they aren't going into STEM in the numbers silicon valley employers feel they should.
As a practical matter, I'd bend on this (for instance, if we just set a very high minimum salary) - but as it stands, I don't think salaries are high enough, even at places like google, that we should be scratching our heads and wondering why more people with freedom of choice aren't going into this field. And overall, I do think that the choice not to become a programmer is a perfectly rational one, and I think that this sort of limited freedom visa tends to suppress the market forces that would lead to a correction (i.e.., an improvement in career prospects, pay, and working conditions that would draw those high talent people out of other fields and into SSE positions at places like google).