How to play into counters?

I have a hard time with reapers, moiras, and cass, and a lot of other heroes with high mobility or invulnerability. Is it just the skill of predicting cool-downs and attacking at the right time?