The crazy thing is that so many states are "set" one way or the other, almost regardless of what happens.
Electoral college and all this candidate-based nonsense is so stupid. I'd vote to re-write the constitution in a heartbeat, adopt a party-based system instead of a candidate based system, where votes are tallied nationwide. Each party would get a corresponding percentage of reps and sens in Congress. The reps/sens would elect the President. New elections every four years.
I'd hope this would focus more attention on issues and party platforms, remove some of the personal attacks, and make EVERY vote count. California Republicans and Alabama Dems and Texas Greens and New York Libertarians should all get a vote the counts.
The Electoral College seems stupid because people don't understand why it exists (and, consequently to that, because it's been screwed up over the years).
The key is that the States are supposed to be much more powerful than they are, with the Federal government really only dealing with things like coining a common currency, foreign affairs and the military, mediating disputes between states and upholding civil rights. One of the important powers state elected officials were supposed to have was the power to choose the President. The Electoral College was merely a layer of abstraction so that the Constitution didn't have to accommodate (or dictate) each state's unique legislative setup (unicameral in some states, bicameral in others, etc.).
In other words, the real way to fix the problem would be to revert the system to how it was intended to work: abolish the popular vote and make the race non-partisan (where the runner-up gets to be VP). In other words, it would be a lot more like you suggest, except instead of "rewriting" the Constitution you'd simply repeal the 12th Amendment and have each state go back to the original methods of choosing Electors.