I would modify the electoral college rather than get rid of it. Make it so that states are obligated to assign their electoral votes to candidates in proportion to the number of votes received. For example, Maryland might go 60% blue and 40% red, so they would give 6 of their 10 votes to blue and 4 to red.
This would de-emphasize the importance of swing states, not completely disenfranchise rural voters, and would return a result that more closely mirrored the popular vote. It might also pave the way for a 3rd party to be relevant if the stars aligned elsewhere.