I think they only realistic way to really change the situation is to ensure that you never have a 2 party or less system. With more and more varied political parties there will be less direct opposition to each other and there would be a greater sense of cohesion. It wont be perfect, but it should work a bit better.
While I have long wished for more than 2 parties, that just isn't viable on the national level. Local and state elections can (and have) elected third party candidates, but when it comes to Presidential elections, third parties break down. Part of that is financial - the GOP and Democratic Parties have a funding base that other parties only dream of. There's also the lack of networking and grass roots. (People don't support third parties because they aren't viable. This leads to them not being viable, which leads to people not supporting them...) Finally, the electorial college system the US uses makes it so a vote for a third party works out to a vote for the candidate you like the least. (Since the EC is winner-take-all, by voting for a third party who has no chance of winning the state, you've taken a vote away from the candidate who actually has a chance of winning. The more people who do that, the more likely the least-liked candidate will win since the more liked candidate did not get enough votes.)
There is a movement going to change the way states allocate EC votes. Under the new system, states would allocate their votes to the candidate who won the national popular vote. (Although several state legislatures have passed such laws, they will not kick in until enough states to reach a majority of the EC pass the laws.) That system would not fix the issue of only having 2 viable parties, but would make elections national elections (which they aren't now. Most states are securely GOP or Democrat, with only a few swing states deciding who wins.)
Another option, which I would love to see but is very unlikely to come into effect, is allocating EC votes based on the percentage of popular votes a candidate got in that state. (So if a state has 10 EC votes, if Candidate A got 50%, Candidate B got 40% and Candidate C got 10%, A would get 5 votes, B 4, and C 1.) A few (2, I think) states do that now.