I’m in the tail end of a similar evolution. I generally lean liberal, and am surrounded by liberals, but I’m very much over the two-party “us vs. them” that dominates our entire culture right now.
My solution is to create my own moral framework for judging my actions. Respect for all, Deference for none. What I mean is I choose to treat all people with respect, regardless of their status, the things we disagree about, their past actions, etc. When I walk into a conversation, I bring the attitude that we are going to agree to disagree. Many liberals have this weird expectation that everyone ought to agree about everything. That’s not realistic. It works a lot better if you expect that there is something you disagree about with everyone.
Deference is not the same thing as respect. Having worked in DC for several years, I’ve seen many examples of people with authority and status expecting other people to agree with them constantly. Not just to treat them with respect as a person, but to treat every idea they have with respect, and to defer to their decisions. If you voice disagreement with them, no matter how politely, they will say you are treating them with disrespect. I don’t see it that way. You can disagree with a person’s ideas and still respect them. This is also my central gripe with the SJW movement, and the folks who think it’s ok to call conservatives “Re-thug-li-nazis”. Writing off whole groups of people is not healthy.
Here’s another example. I disagree with Peter Boghossian on many things, but his comment about “regressive” ideas hit the nail on the head, “People have rights, ideas do not.”