Yeah well, we have laws and a legal system right? I don't think our legal system says that you can't criticize the company you're working for, or that a company can fire people for criticizing the company.
Criticism is healthy and should be respected. Even if it is "unprofessional", that doesn't give the company the right to just fire someone for that. If you would allow companies to fire their employees for criticism, that sounds a lot like a dictatorship to me.