I know this has been done to death but this might just be a novel idea.
Yesterday I spent a frustrating game where we saw a tank roll all the way across the map, get shot many hundreds of times, fell over on his side but then proceeded to bomb all bar one of our hangars. I even bombed him directly in the flank
I also got lag killed a few times by him in other runs
Now, I wasn't the only one hitting this guy and I am not suggesting cheating was at play, I just wanted this guy off the map. I am sorry to disagree with the claims that it does not help the lagger - this guy took out 7 hangars, which is a lot of points and he eventually got the win points as well!! The hangars that were bombed had no right to get through to the server side and register a score against us given the cumulative lag that had occurred. It would have been honourable if he had left voluntarily but on the other hand I think that is a personal decision unless the system does something. All this took quite a few minutes so we aren't talking about a quick glitch. I am sure people can give many other examples like this.
So the novel bit is to try to understand what must have been cumulatively measurable by the server and let the system decide when lag is too much. We clearly had different pictures on each of our client sides but the server must have had a communications from all clients - tk's computer could send messages to the server that he successfully bombed (he could also move, aim and chat) and my computer successfully recorded data about the hits since it displayed on my screen. I was not lagging and neither were the other pilots buzzing round him pumping him with lead. So why can't the servers take a simple poll every client periodically? By measuring key data from each client's view e.g. the point counts, hit events locations, timestamps, packet counts etc it should be possible to work out who is lagging over a long period, say a minute or two. My client would have registered ~50 hits and others similar numbers. It would have registered the same location of that tank as the blues since we were all buzzing him. I suspect tk's client would not have shown us at all and it would have other points where data differed (or else he would be dead).
None of this would stop the lagging behaviour in real time but it would allow the system to measure the cumulative effect of prolonged lag and do something about it after a threshold is reached. For example, the pilot could be respawned until connection stabilises, prevented from registering server side hits or the connection could be dropped.
And another thing, each account could hold stats on lag rates, the servers used and even the global location of the ip address. If pilots accumulates high lag scores then why allow them on distant servers to ruin games?