Maine and Nebraska give one electoral vote to a candidate who wins a CD. The balance go to the state winner. Thus in Maine, there is one electoral vote per CD, and two for the state winner. In Nebraska, two for the state winner, and one for each CD. Bush came close to nabbing one of the Maine CD's. This system adopted nationwide, would reduce the potential chaos by a whole bunch, but still it has the potential of multiple jurisdictional litigation.
I have long advocated that the other states adopt Maine and Nebraska's system (and this can of course be done without any Constitutional amendment). It preserves the winner-take-all nature of the Electoral College but with finer granularity. Most states would become "battleground states" because almost every state would have at least some contestable Congressional Districts where the outcome wasn't foreordained. California, New York, Texas, etc. would suddenly be in play (at least in some areas).
Right now, if a state is too big, everyone in it from that state's "minority" party (whether Democrat or Republican) is effectively disenfranchised. And right now, if the vote in a state is extremely close, it requires a massive recount throughout the entire state (just as in Florida). Abolishing the Electoral College and replacing it with a pure popular vote would just magnify the problem if the national totals were evenly divided. We'd need to recount the entire country.
On the other hand, a system based on Congressional Districts would limit the problem to a handful of very close CD's scattered around the country. That would be far more manageable. In most Congressional Districts the result would be clear-cut and unchallenged.
So for a variety of good reasons, we should follow the examples of Maine and Nebraska.