Except for the first category --- divorced and remarried Catholics --- I agree that the failure to fire does constitute unjust discrimination.  But then, there are firings in the all instances you mentioned (except the first), just not as many as you and I would like to see.  The answer, though, is not to increase the numbers of wrongs by the Church by failing to fire in-your-face married gays who have positions of prominence.  The answer is to fire them AND those in the categories you mentioned (except the first).