Is there a hook to impact custom data before it's saved?
Not as far as I know. You could, however, apply this patch, which introduces generic preInsert and preUpdate hooks to CiviCRM. The copy and demo code for PR explains how you can use these hooks.