I'd like to put forward the following method for discussion.
Keep the electoral college as it is, but instead of a block vote allow each Congressional District to elect one delegate (so that it's no longer who gets the most votes in a states wins the entire delegation) and then allow the extra two delegates from the Senatorial section to go to the candidate who gets the most votes. So take for example a state like CA, say it votes and sends 33 Dem delegates and 20 GOP delegates and then because the Dems poll the most votes, the Dems take the extra two seats giving 35 Dems to 20 GOP (which seems more equitable than Dem 55 GOP 0)
That system immediatly runs into problems once you hit states with a very small number of Electoral votes.. Especially states with just 3.