Okay but how do you solve that? You take away the right of companies to fire people for speech? I see no way to increase freedom from the status quo here.
In Europe companies can't fire you for legal activities done while not working. It's not such a crazy idea.
That's exactly what you do. Maybe we could use some employee protection laws to protect employees exercising their right to free speech. E.g., protection from being fired when they are not acting as official representatives of their employers, or talking privately, or using personal social media accounts. Don't we already have similar anti-discrimination laws?
In most of these cases, I don't think the company itself really wants to fire the employee. But the wrongthink the employee has done gets so notorious among a certain group of people that it becomes a face-saving measure.
Yes, just like we took away the right of companies to fire people for being black.