For example, try to distinguish (from "definitely should be blocked" to "definitely can't be blocked without breaking things"):
- An ad mascot hopping up or down telling you to click it
- A loading spinner spinning
- A progress bar
- Information you're waiting for being loaded once some process completes
You could disable all CSS animations and GIFs, but that will kill the loading spinner and risks that the next ad mascot will be written in JavaScript. And it will still not stop one of the biggest offenders in terms of blinking, ads that are being replaced by a new ad every 30 seconds.