Change multiple values before depsgraph update?

Ive got a script that adds dynamic jiggle to bones that is working pretty well, but I’ve noticed some slowdown when operating on an armature that is driving a skinned mesh.

It appears that it re-evaluates the skinning every time I change a value on a bone, which gets laggy when working on more than a few bones. Ideally I’d like to update all the bones and then re-evaluate the skinning just once. I tried a hack of unlinking the armature from the scene and performing the bone updates then re-linking. This seems to avoid the per-bone slowdown but the unlink/relink action itself is a big slowdown, plus it seemed to crash after a bit.

Is there a smart way of tackling this problem that I’m not aware of?