As far as I know, what you want is a modular skeletal mesh. The idea is to split the mesh into parts. So in your case the cloths, top of the head and the rest of the body will each be a separate skeletal mesh but all rigged to the SAME skeleton. So you have one skeleton and multiple meshes.
Once you do that, you can create many skeletal mesh components inside your character and assing different skeletal mesh parts to each of them. Since all of them are using the same skeleton, they will follow the animation correctly. If you then want some physics simulation for you hair, you can do that in Phat
read these for more info (its in C++ however):