I have believed for a while now that we need a constitutional amendment that says congressional districts need to be drawn in such a way that minimizes the total perimeter of districts in a state. That is the only way to solve this problem.
I think we need a constitutional amendment to do away with districts entirely. The federal government's job is to govern the whole country, so why should representation be based on geography? Let everyone vote for whoever they want, and the top 435 vote getters are elected and get a weighted vote based on how many people voted for them.
Would it make a difference if the presidential election was based solely on the popular vote? It seems unfair that a state with 3 million people would have the same weight as a state that has >30 million.
I think it would be great for the presidential election to have a popular vote. However, the much bigger problem is gerrymandering, which is why congress is so polarized. All the congressional districts are drawn in such a way as to ensure that the most seats possible go to whichever party controls the legislature of that state. Currently, the law only says that congressional districts must be contiguous; beyond that, it is up to the most creative dirtbag to decide how ridiculous the lines can be. Here is how the districts look in my neck of the woods. Its undemocratic, as the specific purpose is to ensure the people don't have a voice, and its ruining Congress.
The presidential election has nothing to do with how screwed up congress is.