2.8 Can I automatically remove all vertex groups that are not influencing any mesh?
You can just:

select your skeleton
get a Text Editor window
paste the script below &amp; run

import bpy
bpy.ops.object.mode_set(mode='OBJECT')
skeleton = bpy.context.object

for object in [object for object in bpy.context.scene.objects]:
    if object.type == 'MESH' and len(object.vertex_groups) &gt; 0 and skeleton == object.find_armature():
        for vGroup in object.vertex_groups:
            if skeleton.data.bones.get(vGroup.name) is None:
                object.vertex_groups.remove(vGroup)

I still think the first answer is valid for those searching &amp; do not feel comfortable running scripts to just mass delete everything in advance.  Hence the 2 answers. The question was a year old, and I also assumed the original asker had moved on.