I do have a crystal ball, but unfortunately it's broken and I can't get parts for it anymore.
The major problem is polling agencies keep updating their weighting method every cycle. We cannot use the difference between previous polling and result as references, since they may already adjusted or over-adjusted. If they overrated R by 3 last time, they may underrate by 2 this time because of that. Had they stay the same, it would be much easier for us to make predictions. Ironically the polling agencies trying to correct their previous errors makes it harder to make predictions.