In the current system, Democrat votes are basically thrown away in red states, and vice versa in blue states. This system seems to shift the problem down the line however. When taking Gerrymandering into account you still have the same problem, except instead of red vs. blue states, you have a smaller scale red and blue districts. You could even argue that this system leads to more voter disenfranchisement when you look at battleground districts. You would have Swing Districts instead of Swing States and this would seem to disenfranchise voter in what use to be swing states.
Finally a third alternative is using Majority preference voting. In this system when we go to the voting booth, instead of voting for one candidate, we would rank our preferred candidate. For example instead of voting for Hillary Clinton, you would rank Clinton as your first pick, Sanders as your second, Stien as your third, and so on. If no candidate got over fifty percent, the bottom choices would be eliminated and their vote redistributed. The process would continue until we had a candidate with over fifty percent of the vote, and be elected (ncpa.org,