One important way to improve our political system would be to stop the gerrymandering of Congressional districts. Today, most states have drawn their districts so as to make "safe seats" for one side or the other. This means that most elections (like the one in my district) are not really competitive. One party is essentially guaranteed to win.
This means that the real election is the primary. Primaries only attract the most dedicated people from each party who tend to have the most extreme opinions. This means that we end up with more extremists being elected to Congress. What we need is (where possible) districts with a fairly even split between liberals and conservatives. This might help us to elect people who will be less extreme and who might actually be willing to compromise with one another to solve some of our problems.