When someone at a big company is conveniently let go before their green card is approved or that big bonus is paid out, it isn't a "firing," but a "layoff" as the company "right-sizes." Bad bosses abuse underlings when they think the job market lets them get away with it and will not hesitate to punish those who step out of line.
Come to think of it, I've seen everything you describe at some of the many Fortune 500 companies I've consulted at. Sadly, human nature defies corporate size, and bad behavior can even creep into very big companies.