I really don't understand why the United States hasn't switched to electing the president by direct popular vote. At the very least, we should do what a couple of states have introduced and spilt the electoral votes so that a small lead in one state doesn't give a candidate the entire state.
For the second point, the way Maine and Nebraska do things is that they allocate by congressional seat, so 2 electoral votes will go to the statewide winner anyway (they represent the Senate seats), and the House seats, in many states, are gerrymandered all to heck anyway. I think someone actually did the math on this with the 2004 Presidential election and found that because of all the gerrymandering Bush would have received even more electoral votes than he did with the system currently in place.
Electing the Preisdent by direct popular vote would require a constitutional amendment, and that's not likely even to pass Congress. Right now, the parties can focus their advertising on the battleground states. If the President were elected by direct popular vote, that money would either be spread much more thinly (since then the parties would have to advertise in currently safe states like California, Texas and New York), or much more would have to be spent.