If states had an electoral college system so tha state-wide candidates would have to win a majority vote of the counties instead of just a popular vote, that would go a long way toward solving the problem.
To me, the electoral College should be by federal congressional districts plus two votes for winner of the states total.