Thinking outside the box here. Everyone focuses on these extremely arbitrary feeling ranks, and I think it's the wrong way to think about the problem.
Computers are not equal, so the ranks cannot have equal meaning across them.
In other words, what is Very Poor to the state of the art computer is vastly different than what is Very Poor to a wireless headset, or a laptop.
Why not let the host computer decide for itself based on actual realtime metrics, letting the user configure and apply rules based on that? Provide sane defaults, like other video games give you quality presets "Low, Medium, High, Ultra".
Just spit balling here (and some of these exist in similar ways already) but what if I had settings like:
  • How many avatars make an instance light, cozy
  • How many avatars make an instance busy, poppin
  • How many avatars make an instance overloaded, omg-furality-club-world
  • Frame rate impact of an avatar (show the cost to draw it somewhere?)
  • Frame budget buckets for CPU time (draw calls?)
  • Frame budget buckets for GPU memory
  • Report about excessive shader compilation time/frame hitches.
These ranks can adjust based on how populated a world is to maximize performance. I'm in a world with 3 other people, they can be in absolutely gargantuan avatars. But when the instance starts to fill up, the game has to cut back a little, those ranks reevaluate, and I might see some avatars fall back.
[Frame budget] = [Current World Demand] + [[Av1%]+[Av2%]+[Av..n%]] <= [95% total compute available]
Imagine the client observes Av2 needs way more of a share of resources than everyone else, AND we've reached a high water mark, then cut Av2s share.
I hope these are ideas that spark some more out-of-the-box thinking about avatar performance.