Microsoft could easily just pack up and move all their dev work to India. There's a large supply of workers there, and they can pay them a fraction of what they have to pay here.
Why aren't they doing this? The big companies threaten this, but they never do it.
Simple: if it were really this easy, they'd have already done it. There's obviously some good reasons why they're not, and why instead they choose to import people under H1-B, pay them roughly similar salaries to US workers, and pay for lots of immigration/paperwork-related costs on top of this. They might be (and I think they are) helping keep salaries down this way overall, but that's nothing compared to just dumping everyone and moving operations to India and paying 1/5 of US labor rates. So why aren't they doing that?
So what's stopping them?
The highly skilled American employees in their US-workforce?
At the moment, it might be more economically sensible to convince the Indian to move to US than to convince the American to move to India. But if you make it too hard or impossible to do that, Google will re-evaluate options at their disposal and decide accordingly.
Seriously: these companies keep threatening this, I wish they'd just do it and see how it works out for them. It just sounds like an idle threat to me to try to get their way in the US. I'm really sick and tired of their threats.
Or perhaps, move the job to another country which has a larger supply of workers.