The fact that:
1) We have a first-past the post electoral system
2) Fusional voting is banned in most states
3) The electoral college essentially requires a majority of votes for a person, not a plurality
...means that given enough time, the political system will eventually stabilize into a two-party system.
Truth.
The presidency, although it gets the most press, has the least effect on the actual electoral system. The two-party system in presidential races is a byproduct of the two-party system in the Congress, which is itself a byproduct of first-past-the-post voting in legislative elections. If we adopted some kind of proportional representation in Congress, we would likely see a greater role for small parties. In particular, more extreme members of the Republican and Democratic Parties would likely leave the parties to form or join lesser parties (in particular, libertarian Republicans would likely join the Libertarian Party, and some Conservative Democrats might form a party of their own, though finding a uniting ideology will be difficult; Christian Socialism would prolly fit the bill, but that would just confuse the hell out of the voters). However, the Democrats and Republicans would likely continue to be the largest parties because they would likely represent the center-left and center-right (just as the SPD and CDU/CSU are the leaders in Germany, the PSOE and PP in Spain, PS and UMP in France, etc!).
(Note: Because the Congress is supposed to be a meeting of representatives of localities, I would advocate Single Transferable Vote with multi-member districts of 3-5 for House elections . This is is the system used in Ireland and for Australia's Senate; Mixed-member proportional doesn't ring right for the American system. The Senate would either be by runoff or unchanged).
As for the Electoral College, it is, in its current form, a rather outdated and silly device, and I think that a runoff system might be better. On the other hand, the College does redirect campaign attention to rural areas more effectively, whereas a direct runoff would cause all attention to be given to the cities. Assuming that the latter is about as bad as the former (a particularly defensible position given that the US is a federation), a good compromise would be to have states split their electoral votes in some kind of proportional manner, either by distributing Electors directly in proportion to the votes of the people (which would favor urban areas a bit less than direct election) or by distributing Electors by special electoral districts within the states (which would be a bit better for rural areas). I don't think that the Maine-Nebraska system is good though: congressional districts are, as a rule, gerrymandered. However, if they weren't, it might be a good third alternative, but I'm sure it would probably favor one group or the other (though I can't be sure which).