BigCos like Google and Microsoft can afford to pay big bucks and collude together. Startups on the other hand can't always afford to pay $100k+ for a junior engineer.
They do set up shop elsewhere. The problem is that the BigCos are also doing the same (NYC, Seattle, Austin, Boulder, etc.) and bringing their high salaries with them.
Sounds like a failed business plan then.