This question goes to the heart of the issue.
"Does a company have to keep employing someone, even if they believe the person is hurting their brand?"
I know you are trying to get to the moral issue but the law is clear. Firing someone because the public political opinions are hurting your business is clearly legal.
There are no workplace protections for political affiliations, speech or beliefs. I thing that some states are considering adding such protections but I don't think any have yet. Religion can be a close analog for politics and there are workplace protections for the Religious.
In the Gina Carano case I suspect there is a lot we don't know. I think you hinted at that. For what you reported Lucasfilms could have just distanced themselves from her comments saying her comments did not reflect the views of the company and the company's business would have been fine or better than if they fired her.
TEK