Could you make a special that forces a move to be taught to that location, even though there may be empty slots?
Also, is there a way to set what map bank and number the Swarming Pokémon or Roaming Pokémon is at? Also, how would you make it so that after you encounter a Roaming Pokémon, it moves to another map?
Another cool idea would be something like the Behavior bytes changing, where you could force an item to be usable and run a script.
And maybe, as an addon to the sethealingplace hack, you could do something that would let you change the text pointers that are called during the run home thing, aka "[PLAYER] scurried home, protecting..", "MOM: Oh, hello, sweetie! Did your POKéMON faint?...", and "MOM: There you go! All healthy and happy!..." or however they go. This would be useful for people who want to have many different places where different things are said upon fainting.