Digging through the raw ad server log files, I discovered that the "suspicious" impressions and clicks were all originating from AWS IP addresses - most likely someone was using AWS to run a spider on our site, the spider followed Javascript links, and therefore clicked every ad on every page.
We ended up adding a rule in our ad server to prevent ads from being served to any IP address which belonged to cloud hosting / VPS providers - this solved the problem for us.
I've since sold the business and therefore don't know if the problem ever arose again, but I believe blacklisting IP address blocks which are highly unlikely to belong to real human beings* could be a good start for anyone running into these sorts of issues, either on the advertiser or publisher end.
*Yes, I know some people run VPNs on AWS or similar VPS instances, which means they are real humans - that was a loss we were willing to deal with.