Hi,
The only other workable solution is to remove the inheritance relationships for the derived roles & process them all manually. From what you are saying I expect this will increase the effort.
The golden rule of using derived roles is that field values remain consistent. If they don't then you have to rework your role concept or promote the fields to org levels as Meta has mentioned. If you do the latter then I expect that there would be some additional rework (e.g. if you have different activity combinations for various permutation of variable field values) but in the long run it would be supporting the concept that you based your role design around.