I also realized that the capabilities necessary to seriously reduce the problem already exist, albeit separately and not used for this particular purpose. Many hacks come with functions that enable them to detect if another user is hacking, and will display a warning message to alert the user. There doesn't seem to be any good reason that one couldn't make a fully automated anti-cheat program (I call it a program, though it would probably consist of a small program, a list file made to be hard to edit, and a .dll): basically, this would work like the "blacklist" hack, except that in order to prevent false positives, it would automatically and exclusively add users to the list when its hack-detection functions note that those users are hacking, and then eliminate the detected users from the game with a drop-hack function. Now, there will probably be some sorts of hacks that this program would not prevent, but it could be updated when methods were found, and all that a cheater would have to do is use one hack function that is detectable to be added to the list. Of course, the program would be set not to detect other copies of itself. Hack-makers will obviously try to come out with new and undetectable hacks, but the program itself would also be updatable, and program-users would already be protected against hackers who were detected before the newer generation of hacks was released.
What would make such a program truly effective, though, is if the program automatically shared its ban-list through an online server; instead of each person with the program having their own automatically generated list, it would send the list to the server, and then send back a list compiled from all the IPs that are sent to the server. Thus, if a player cheats in a game with any user of the program, anytime anyone with the program joins a game with that person in it, or if that person joins a game hosted by a program-user, the program will automatically kick the cheater. Each person who used the program would not only increase the frequency of cheater-detection, but would also serve as a kicking agent for the whole system; their copy of the program would take action against cheaters detected by every other copy of the program as well as by itself. Even if the program only achieved moderate popularity, the fact that each detected cheater would be on the blacklists of every program user would mean fairly frequent kickings for the cheater, and each cheater need only be detected by one program-user for every program user to be protected against that cheater. Because the program would be completely automatic (and the list file would have to be protected against manual editing), legitimate users would never be added to the master ban-list, which would grow according to the total usage of the program by all users. Considering that given maps are only hosted with a certain frequency, it would only take a decent proportion, not even a majority, of games to have one program-user out of all their players to make online Starcraft more or less unplayable for cheaters, without any recourse to private servers necessary.
While such a program would probably not stop all hacks, it would have a high intimidation factor: anyone that a potential cheat-user is in a game with might have the program running, and the cheat-user can never be certain that the program hasn't recently been updated to account for a previously undetectable hack, so turning on a cheat in a multiplayer game would come with a risk of instantly being added to the central list for instantaneous, automatic kicking by all program-users, with no possibility for a reprieve by a weak-willed user. Being added to the list would mean a permanent diminishing of one's online gameplay enjoyment, since IP addresses would never be removed from the list. Faced with that possibility, potential cheaters would have to think twice before choosing the path of darkness.
Of course, turning on the program would be completely optional, so map-makers could still use hacks to test games by themselves. Players could cheat as much as they wanted, so long as no others stand to be affected. But when one plays with others online through battle.net, one agrees not to cheat, however "harmless" or "irrelevant" it might seem, even if one is playing a game type that doesn't go on their record. After all, even if one player regards a game as a casual distraction, another might view it as a "friendly but serious" competition, and consider cheating an offense against his honor. It is not the cheater's right to determine how seriously his opponents should take the match.
Now, I'm a philosopher, not a programmer, so I don't have any capacity to make this program myself, but it seems that all of the virtual "technologies" that would be needed to make it work already exist. I'm sure that there exist in this community people with the skills to make something like what I have been discussing. All it would take is for one person to decide to help clear out battle.net by making this program, and a few more to start using it, so that the benefits start to accumulate. Once the benefits start to accumulate, so will the appeal of using the program. So the question is: why doesn't someone make a program like this?
None.