There really is a simple answer to this.
Each congressional district gets one vote. Win the district, win the vote.
Maine and Nebraska already use this method. The overall winner for the state gets the two votes used to represent the Senate equivalents. That actually makes smaller states more valuable.
Each congressional district gets one vote. Win the district, win the vote.
As is done in Maine and Nebraska now. One vote for winning a congressional disrict, and two more Electoral votes for most overall votes in the state.
A study done in 2001 showed that Bush would still have won over Gore had this system been adopted nationwide.