Hi Jeffrey,
Unfortunately, I don't think there is any workaround for that, as this is embedded into CMS code, i.e. UserRoleInfo class doesn't have SynchronizationSettings defined, meaning it's using IncludeToSynchronizationParentDataSet property set to Complete. This behaviour cannot be overridden in any events I'm afraid.
If you desperately need this, I think you can purchase CMS license with the source code and change it as you need it to work.
The reality however is, how many times do you release functionality that requires Roles to be changed? Typically, Roles are quite static, although could be different between the environments. And keeping this area out of the automation pipelines normally is ok.