UV Mapping & Mesh Separation
General Workflow

After unwrapping countless models, my current workflow is this.

Select and focus on the portion of the mesh by ShiftH in edit mode. In this way you do not have to separate your meshes into part and then rejoin them later. You can create the seams of the selected part one at a time and uv unwrap them individually to test if they unwrap properly. AltH to unhide the whole mesh in edit mode. Then proceed to another part of the mesh and repeat until you have the whole model seam up.

For the final steps it's pretty straight forward. Just select the whole mesh and hit U and remember to adjust your margins in the tool panel to make sure those margins between the islands are about 8-12 pixel wide. If you want to
make sure your islands are scale correctly use CltA with your mouse.

..

How to seam?
The answer as to how you cut those seams would be to always understand the concept of unwrapping a box into a flat plane. Then learn how to apply the concept to any mesh. The most important of all is to make sure those seams are hidden from view (as much as possible) . So you will want to hide those seams behind , eg. a belt, hair line , watch straps ... etc.

..

Fine Tuning
After you are done with all the steps above. It's time to fine tune those wonky
warped uv unwrap. I like to define the centre line of the mesh if any, and pin them. Turning on the UV editor > UVs menu > Live Unwrap , deselect the previously pinned center line and select those twisted portion you want to adjust, pin them before G move them. You will see live unwrap giving you real time update on how your manipulation to a single point affects the whole mesh. Very intuitive and easy to use!

Good luck.