And there's no clear way to adjust for the most basic factor that people who vote for one candidate are less likely to say so.
In order to account for that, you need you know how many people who are less likely to respond are voting for that candidate. And then you're back to square one.
This is why professional polls have had a consistent bias over the last few years, as this hidden unobservable factor's effect has gotten stronger and stronger.
And even the best pollsters, who over decades learn to correct for drift like that, get blown up by a sea-change that they didn't expect.