(shooting from the hip) What if the 350 engineers had built a company instead? Union-like efforts could focus on creating new companies (having the "union" is about ensuring a certain level of organizational knowledge, like YCombinator creates a structure around startups)
I think companies would more careful about how fast and lose they operate, if firing may mean having to contract with a 3rd party.