IMO ASN-based blocking should be much more common, but unfortunately it is not supported as a first-class configuration option in many common tools.
Mine is a daily bash cronjob that fetches a text-based database and uses grep to build an nftables-apply script with all the IPs for the blocked ASNs. I keep meaning to share it, but it's embarrassingly messy I haven't had time to clean it up...
Anyhoo, now you mention it this is the tack I am going to take in my own network, thanks!