this is all thinking from the direction of the players, who do not lag. to improve experience of player which suffer lag, other measurements would be usefull too. first, in time of lag, the player's engine detects the framedrop. this has to be somehow recorded and analyzed. after the game at some central point, either locally at the player or globally (maybe at the forum) these statistics are collected. the program should suggest possible bottlenecks and how to optimize it.
e.g. statistically, over your last 20 games your computer came x times to its limits. this occured when x vs y battles(total player count x+y) where joined. at medicore z amount of units, you lagged.
suggestiuons:
---disable widget x and y
---turn graphics settings to [performance profile]
---try avoiding battles with more than x players
---try avoiding maps larger a x b
...
surely this could be more specific. just a thought. but in this case, a player could be guided to find his optimal settings.
ofc, if the engine/settings could be adjusted to different settings while being INGAME, this would be awsome, but will likely too complex.
this will increase user experience, save frustrated players (playing on lag as also suffering team) and the community will grow in long term...