What I have found to work best for me so far is to NOT use the Armature modifier (delete it if you have one), parent the mesh to the armature and use Vertex Groups. When given the option you can have a couple of options to play with.
I prefer to have it automatically create empty vertex groups (one for each bone) and then manually assign vertices to each group. Gives me the most control, and the results are consistent.
The “assign by bone heat” is an awesome quick & dirty little tool for getting an AUTOMATIC weight painting. Does a pretty decent job, and you can then manually go into weight painting mode and do any necessary touch up if you need to.
I’m not real clear on how envelopes are supposed to work, but I haven’t got them to give me the deformation I want, so I’ve been avoiding them.