One of the common brought up reasons for why the performance ranking system is bad is that it does not handle toggles.
So I propose the introduction of a optional VRChat made toggle system that would function like a switch-case statement.
Each case would be a toggle or set of toggles, but only one case can be true at once.
With a system like this the performance ranking for meshes, or materials, would only be as high as the highest found mesh, or material, count when going through all the permutations of base+toggles.
-----
The obvious problem with this however is that the SDK cannot be trusted, so the old system of counting should still be used behind the scene as a sanity check, both during upload and when a user is about to show the avatar, the new system cannot have higher stats than the old system. This will help mitigate this from being used for crashing.
If data about each switch-case toggle difference or complete performance ranking stats is saved then a sanity check whenever a toggle is activated can be done on each client to disable the toggle and dissuade SDK modification, because of mitigation above this one it would be relatively safe to activate the toggle long enough to calculate the stats. And because this should only happen in cases of SDK modification the clients could report the avatar automatically.