Have you thought about incorporating this system into a "checkbox" type program?
Say, the user does not want all the functions of the patch, but only one. He/She can select which one and press "Patch" or a similar button in this program.
The program will automatically find free space, or you can specify the free space manually so that the offsets don't interfere. (A common problem with traditional patching). Used sapce (like the space in your patch) could be the same as a ROM hacker with their own hack, due to repointing large amounts of data such as maps, scripts, and sprites. Especially animations.
Do you get what I'm saying? You're doing great things with the FireRed Platform.
So what do you think?