My general procedure:
Make two poses on my rig, one an extreme inward pose the character folding in on itself, and an extreme outward pose. I sellect all the operations i have done from the Script editor and make a shelf command to quickly access the poses.
I end up with three buttons, one for the extreme inward, one for the extreme outwards pose and one for my standard bind pose.
There are other ways to do this but this but this works for me.
Select all the bones im going to be skinning, dont include any constraint or end joins in this selection, select the mesh.
Run a smooth skin and set max influences to, leaving remaining settings default, this makes the binding process easier in the long run, not having to worry about taking weight off many joints.
I then modify the skin to have 3 influences at max, doing this after the innitial bind means your verticies are still controlled by one joint but can still have more influences.
When i start to paint weights I lock all the weights on all joints apart from the joints i am currently working on, this means if you use subtractive settings your weighting wont be randomly assigned.
Try and hold/ lock constantly, dont run the risk of ruining your weighting work.