Double parenting?

I’m working on a mouth system for a Minecraft rig that works like this:

To make it work, the right tweak bones (the circles) are parented to the bottom bone, as well as the smile bone (using a “child of” constraint). The only problem with that is when I try to move the parent, this happens:

This is obviously because the smile bones are also parented to the mouth parent. I’ve tried unparenting them, but it still doesn’t work correctly when I rotate or scale the parent. Does anyone know a way I can fix this without sacrificing any bones? Any advice would be a huge help.

You can add “dummy” bones that don’t affect anything but just support parenting. You might want to check the child or constraint so that it’s set to Local space.