At one point we were doing around a billion calls a day by a customer that swore they had nothing to do with dialer. They mixed the traffic very skillfully, so they always kept their overall statistics just at the contractual limit.
Blocking repeated source numbers just means people start making up numbers. At that point, you can't really block things. You could perhaps get a score of the likelihood of a call being legit, and perhaps retroactively you could determine a bunch of calls had a high amount of dialer. But I don't think it's possible to find an algorithm that has a good-enough accuracy rate to do real-time blocking.
Of course, from a telecom perspective, I don't really care about the content of the call. I just want the avg duration to not be so low that other carriers get upset. To that end, simply making sure dialer customers don't hangup immediately seems to suffice.