As we all know, the electoral college system of electing our president is seriously flawed. First, it allows for a president to be elected without having the support of the majority of the American people (ie. 2000). Second, it disproportionately dilutes the votes of persons living in strongly Democratic or strongly Republican states (when is the last time you saw Bush seriously campaign in California or Kerry in Texas) and gives too much power to voters in swing states like Florida and Ohio.
This is how I would fix the electoral college system without scraping it altogether. The number of electoral votes each state gets is based on the number of Senators and Representatives it has. For example, Minnesota has 10 electoral votes. Two for it Senators and eight for its Representatives. Instead of a "winner take all" system used by most states, we would have one electoral vote assigned to each congressional district and two electoral votes assigned to the overall winner of each state. Using Minnesota as my example again, whoever wins 51% of the vote in each individual congressional district wins one electoral vote. Who ever wins 51% of the overall state vote gets two electoral votes. This way, each congressional district is important and political leanings in different regions of the same state would be fully expressed. Therefore, people in upstate New York would not have their vote canceled by the highly populated, and very liberal New York metro area. And, liberal cities like New Orleans would not be drowned out by the rest of the overall conservative Louisiana. This way, each region of a state (urban or rural) can have a voice independent of the other regions, all the while still giving a bonus for winning the overall vote of the state. This way everyone's voice is more fully heard and there is less chance a candidate could win the popular vote and loose the election.