There may be a compromise possible here,
[Irrelevant details]
since because of my somewhat weak computer i sometimes have games that start alright (40+ fps) and go down to 2-4 fps due to unit production (i try my best to avoid large and speedmetal maps), At this point I usually transfer my units and exit because it becomes clearly pointless, while i would prefer better optimization for the game i do have another suggestion that is (probably) far simpler to implement:
[/irrelevant details]
Make the game give some sort of CPU overload error and disconnect the player if cpu > 100% and fps < 5 (for example) for a set amount of time (at least 1-2 minutes to avoid disconnect doe to temporary videoeffect spike ) since the game is unplayable at this point anyway
Most (reasonable) protests against this coild probably be disarmed by making this not affect elo and perhaps give bot level xp (but only if gametime > 10 minutes or so to avoid it being used as an xp exploit)
The main problem is... can you detect is someone is overloading their cpu on purpose to leave a lost battle without loosing elo?