I have that same question too, but I have just figured out half of the answer.
The first part of my answer is to have a sprite for every part of the body, or armour, or weapon, or outfit, each sprite pointing to the atlas of your spritesheet, easy.
But then, the problematic part, how do you assemble them together?
I mean, they are assembled together already in the game object, what I mean is how do you animate them as a whole? How do I fix the arm in the shoulder, the legs in the hip, the boots in the feet, the gun in the hand, the helmet in the head, when the animation is running, jumping, falling, etc…
They all have to have the same number of frames for sure, but how to position them every frame? or is it better to have all frames the same size and transparent with the body part or accesory already positioned in the place it has to be in every frame? Wouldn’t that be a lot of wasted space?