Honest question, how do we fix said system? The only way I see it being repaired is to have multiple, viable parties, or better yet, multiple candidates that don't adhere to a party's platform. With the two party system, there is not much incentive for folks that have specific things that they care about the most to consider the other side. Like 2A and abortion rights; someone might agree with the majority of the Democratic party platform, but they will never vote for them specifically because of 2A and abortion rights. Same might be said for a person that is more conservative on their economic beliefs, but won't vote for a Republican because of their stance on social issues.
There will never be a candidate that matches what someone believes perfectly, unless said person is a blind sycophant. But at least with more viable candidates not tied to a party we could have some degree of variety in our choice.