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.
Why? You're accepting the premise but then stopping short. Yes, a candidate's final outcome in the election should be proportional to the number of votes they received. You want to make it less unfair, but we can just as easily make it completely fair by making the outcome exactly proportional to the vote.
not completely disenfranchise rural voters
According to the US Census, roughly 20% of Americans live in rural areas. Under the Electoral College, most of these people get effectively no say in who is the president. Nobody cares what rural voters in Texas or California or Wyoming or Oklahoma think because they're not swing states. In a popular election, these 20% of Americans would get 20% of the say, and their individual vote would carry the same weight as everyone else. That's the only fair system. Making it less rigged is still rigged.
On the whole, yes, the Electoral College gives a larger weight to rural voters by stealing it from urban voters. I was merely highlighting that it also effectively disenfranchises a lot of rural voters by consolidating all electoral power in roughly a dozen swing states. I think the argument that we need to give special privilege to rural voters is bogus, but even accepting the premise, the EC still sucks at that. The specious arguments made in its favor don’t hold up.