Hi!
While this setup does work you could run into issues with this, since it doesn't change the BindJoint Translates. Instead this animates the offsets on those joints. Which also leaves you with Bind joints that need to be zeroed out and don't directly reflect the same Translates as their Masters. This isn't optimal but depending on what your rig is for, it might never cause problems.
But it will cause problems in workflows that require animation baking. Because you can't bake the offsetParentMatrix Attribute.
Baking is especially important in Rigs that get animated in Maya and then exported into game engines, because those rigs often get baked and then stripped of everything that isn't the bind skeleton and the skin, and then exported as FBX. This will leave your BindJoints in a static state with no animation as soon as the rest of the setup is deleted.
As long as your Rigs animation never gets baked onto the BindJoints, you should be fine.