Including all IPs I blocked today, they're spread between 5 different ASNs. I may resort to blocking them eventually, but for now - individually blocking the IPs (even in the thousands as it is) - seems to be working well enough.
As for user agent - they're using a very common, real browser user agent that's impossible to distinct from legit users.