Voter suppression and Russia's social media campaign will continue to be factors. Same with gerrymandering.
But, as I wrote the other day:
We had dominated PA, WI and MI ever since 1992 (winning by an average of 7+ points in those states). Then, in 2016, we had 2 historically unpopular candidates facing off (thus, turnout was somewhat suppressed and 3rd party voting was higher than normal). Clinton because millions had been conditioned to hate her over a period of 25 years, and Trump because he's a giant asshole. Clinton was our best option in 2016 and she'd be president if not for shenanigans, but let's not kid ourselves, she is hated by a large percentage of the population.
We had Comey's last minute announcement. We had a build-up of racial resentment (no, it wasn't economic anxiety) combined with a 'let's give an outsider a shot' attitude. We had Russia's foul play (aspects of which will remain an issue).
Now, Trump isn't new anymore. Newness carries a lot of weight, especially when the other party has been in power. He's a fully known quantity and he's despised. It's not just that well over 50% disapprove; after all, he had a low approval rating even when he was running in 2016. It's that close to 50% indicate strong disapproval, and that's significant (though still 50 points too low). We have an opportunity to nominate someone who will contrast (in just about every way) with Trump--to our benefit.
With Harris (and maybe Beto as VP), I think 360+ electoral votes would be within reach. I think we would see record-breaking Dem turnout.
Trump, if he doesn't resign, will be even more damaged than he is currently. Mueller, the SDNY and the Democratic-controlled House are only going to make Trump even less viable over the next 20 months.