Here is a video I did sort of on the subject. Its all in Blender, so I have no idea if you mean in Unity or what.
Rigging and Weight Painting: https://www.youtube.com/watch?v=RVqWi8UoS4I&t=1s (I talk a bit about it here)
I'm no expert, but the way I found to optimizing is to attach the bones to one parent bone.
Example: Hair strands 1-30 = parented to HairBase bone. Hair base bone is parented to Head.
That way you have all your fun hair pieces without having the risk a few here and there.
Same thing with a skirt or dress or even tails or ears.
Skirt 1-30 - Skirtbase - Pelvis
Ears 1-2 - Earbase - Head
Tail 1-??? - Tailbase - Pelvis
Hair strands 1-50 - HairBase - Head
You can only have 4 physbones for quest. So if you don't want the extra struggle, do what I have listed there.
I'm sure there may be a better way, but this is my method.
Oh right, you won't need to weight paint the "base" bones. They can just exist. They're just an anchor anyway.