That’s because you make them obvious.
When a hero suddenly start bee-lining towards you, and you can SEE the determination in his eyes, as he locked on to you - you kinda know what follows.
If you know the heroes, you know what to expect. And when to expect it (because you know the range).
Instead, with a highly-dodging hero like Tracer, don’t just use your skillshots as soon as they’re available. Instead, let her either overreact by dashing, or let her relax for .5-1 second when she sees you not casting, and THEN make the skillshot.