This is a suggestion for a performance ranking that's based on runtime measurements taken from an avatar's performance in-game on the client's system (hereafter referred to as "runtime ranking"), rather than a formula to predict avatar performance in advance ("predictive ranking").
If VRChat can measure the actual runtime performance of an avatar (CPU time, render time, RAM and VRAM usage, possibly other "bottom-line" metrics) and determine which resource is bottlenecked on the player's system, then the worst performers can be turned off based on actual performance.
  1. This would allow players to have as many hidden toggles as they want, provided they stay within the bottom-line metrics like download size and runtime performance. If they're not being rendered, then they're not affecting the runtime profiling, and the avatar will still rank well according to runtime ranking.
  2. This would eliminate the gaps in the predictive ranking system. VRAM usage and texture size is a systemic problem right now that the predictive performance system doesn't account for, but if that problem was patched, I believe that a new systemic problem would appear somewhere else where there's a gap in the predictive ranking system. Runtime performance measurement could eliminate this game of whack-a-mole.
  3. This suggestion is based on my day job work as a platform/infrastructure engineer for cloud/SaaS companies. My rule of thumb is to always base system alerts on metrics that are measured as close to the "output" as possible - server response time and error rates - rather than attempting to monitor for potential root-causes, such as disk space. These "root-cause" issues may not actually result in an outage, but would contribute to alert fatigue through false positives, and a collection of potential-root-cause style alerts might not actually catch an outage if they weren't watching the correct root cause (false negatives).
I realize there are many difficulties with such a system. For example, when avatars are disabled, it would no longer be possible to measure performance, making it difficult to decide whether the avatar can be turned back on. I'm also not familiar with whether Unity gives visibility into things like how long it takes to render a GameObject hierarchy, or even whether that's a valid thing to attempt to measure in a 3D scene. But I know that the VRChat engineering team has a strong history of taking on difficult problems like this from first principles, such as with avatar dynamics.
I hope this suggestion is helpful, and thank you for reading!