I agree with all of this, but there are other non-voters that you didn't mention, and they're the largest chunk I think. It's the people who thought that they didn't want to vote for either candidate who live in those swing states and then stayed home. For example, the entire staff of Deadspin posted how they were going to vote before the election, and most of them were going to write in shit or not vote. Most lived in NY so no big deal, but one of them lives in Pennsylvania. Whoops!
Sure, this is a good point. I was more or less talking about perennial non-voters. But we don't even need to win those, although we should try. We can probably just try to win the people who normally vote but didn't vote in 2016. And if the people who say that Hillary was just a disastrous, unwinnable candidate are right, we can get those people to vote by just not running Hillary.