drivers and custom properties for buttons
Not sure drivers and custom properties are a good solution for that.

Lucky for you, I have run across similar strugglers these years when rigging and collected some python scripts which you can run to fix all that. Simply copy-paste them into the text editor, and click the run button when you need them. You have to be in Pose mode though.

First one : reset every "stretch to" constraints of an armature :

import bpy

for b in bpy.context.selected_pose_bones:
    for c in b.constraints:
        if c.name == "Stretch To":
            c.rest_length = 0


Second one, same use as the previous, but to set inverse of every "child of" constraints of the armature :

import bpy

ob = bpy.context.active_object

# Take a copy of current layers
org_layers = ob.data.layers[:]

# Show all layers
for i in range(len(org_layers)):
    ob.data.layers[i] = True

for b in ob.pose.bones:
    for c in b.constraints:
        if c.type == "CHILD_OF":
            context_py = bpy.context.copy()
            context_py["constraint"] = c
            ob.data.bones.active = b.bone
            bpy.ops.constraint.childof_set_inverse(context_py, constraint="Child Of", owner='BONE')

# Reset back to orginal layer state
for i in range(len(org_layers)):
    ob.data.layers[i] = org_layers[i]


I'll be working on making those scripts more easy to use, as add-ons with accessible buttons right in the viewport's UI. You can follow the advancements on my github.