I understand most people will only download unity for the sake of editing and uploading avatar packages, so the idea to instead use those packages to edit avatars directly in-game feels like the next step.
Typical upload process:
  1. The player should first go to a world specifically for editing avatars, either completely private, or basically an invite-only instance, with an automatic status change to reflect they are editing an avatar.
  2. The player would import the unity package(s) provided to them. Creator Companion community packages should also be available in a menu to allow for easy importing, such as VRCFury and Poiyomi shaders. (Community packages would still have to be added by the user themselves.) The player would also be able to import custom models and textures if they're making something from scratch or adding accessories.
  3. The player would be able to edit their avatar by hand, using specific tools from a menu, such as resizing, repositioning, component editing, etc. An ability to show the avatar skeleton would be needed for advanced placement of objects and the ability to parent objects to other objects would be needed. Particles, animations, lights, radial menu editing, constraints, physbones, and everything else should be available to a user. Upgrading from dynamic bones to physbones should also be available. Seeing the current avatar performance rating that updates either with the press of a button or in real time would also be ideal.
  4. The player should be able to upload/update this avatar directly from this editing instance, or if they want to, export the avatar so they can either send it to someone else or do more editing in unity if they desire.
The editing world:
This world should have a few floating menus around, able to be toggled on and off and placed in any location in the instance. Spawning these menus should be accessible via the VRChat menu or perhaps a separate menu in the instance. These menus should provide all the tools needed for avatar editing, exposing things such as the material properties, scripted components, animations, and everything. A dev menu should also be available to the very advanced players.
If implemented, items bought from a Creator Economy storefront could be imported directly into this instance.
A toggle for a mirror should be available to the player so they can test the avatar when they wear it. Also available should be a height marker, or at least some ability to see the coordinates of a cursor so people can get their avatar to the default size they need.
A wireframe view would be good to have for advanced users.
Disadvantages to this system:
For some people, editing in vr probably isn't ideal for their workflow, so this would be something that could only replace the more simple side of avatar creation.
I can't imagine VRChat would be fully allowed access to the unity asset store from this, though the way around it would be the importing of unity packages.
Changes to models and other components would be difficult to sync between other players if they're also in the world, so my suggestion for that is just don't do that lol.
I imagine 3D modeling and custom texture work would not be possible with this for a long time and those would still require more traditional work flows up until the point where all edits are simply in unity.
Advantages to this system:
People that struggle with unity or do not have access to it would be able to work on avatars more easily with this method.
Uploading, editing, and testing avatars could all be done without having to constantly get in and out of VR.
Players could very easily fix issues with their avatar without having a second 3D program open.
If implemented, older avatars from before this feature would be able to be updated, giving them new life.
Players could more easily understand and see how their avatar appears to others as well as the performance impact that their avatar has.
Players could test their physbones, sounds, menus, etc. in real time rather than waiting on an upload or shaking their avatar around in unity.