Anti-cheat techniques (e.g. Punkbuster) are not very effective against aimbots because of a steady stream of new aimbots released. Dynamic Bayesian Networks (DBN) have been shown to detect aimbots with high efficiency (> 95 %). However, because DBNs rely on statistical comparison of the behavior of normal and cheating players, their effectiveness diminishes as aimbots mimic human behavior better and better. At some point aimbots will become practically indistinguishable from real players. When this happens there will be no way to tell whether a player is using an aimbot or not.
The main problem with aimbots is that they destroy the game of honest people. There are many examples of players abandoning servers because of aimbotters dominating the matches. Why do the players really abandon these servers? The simple answer is that they have no chance at all agains aimbotters who will own the server. To turn this logic around: Why would anyone care about aimbotters playing on a server if they did not automatically have a huge unfair advantage?
IMO the solution is a scheme that have been universally adopted in sports: a tiered competition system. Sportsmen are categorized according to their previously demonstrated skills and they are not allowed to compete in leagues below their class (except in open tournaments in which anybody can participate).
Similarly, we should have a tiered server system where each server would be assigned a maximum aiming skill level allowed. Aiming precision can be easily monitored and quantified. Anybody with an aiming skill over the server's assigned level would be automatically kicked out. This could happen in less than a minute of playing.
If this scheme is implemented then the matches will become fair. It will not matter if a player uses an aimbot provided it is less efficient than the server's skill limit. Simply using an aimbot does not make someone a great player. Aimbotters are usually lame (the main reason why they use aimbots to begin with). They can be consistently beaten using superior skills in navigation, tactics and strategic planning.
Obviously, you could play on servers of higher skill settings to have some practice for improving you skill. But it would be _your_ choice, and for fun play you could always chose a server at your own level and could be fairly sure that it is only your skills that ultimately determine the outcome.
The above is only a rudimentary sketch. There are of course many factors to consider: how many tiers should be there, what skill levels to set for the different tiers, etc. But first I would like to have your opinion about the whole thing. Would it work? Would it be accepted by players and used by server administrators? Also any ideas about how to improve the scheme are welcome. Criticism is also OK provided it is constructive. Please, don't just tell me that it is stupid idea: tell me also why.

Thanks!