Batches aren't really meant for optimisation in the same way as RDBMS. If anything, it will just put pressure on the coordinator having to fire off multiple requests to lots of replicas. The IN operator falls into the same category and I personally wouldn't use it with more than 2 or 3 partitions because then the coordinator will suffer from the same problem.
If it were me, I'd just issue single-partition deletes and throttle it to a "reasonable" throughput that your cluster can handle. The word "reasonable" is in quotes because only you can determine that magic number for your cluster through testing. Cheers!