>>21291507WE DID IT
After hundreds and hundreds of save state reloads, RNG went just close enough to my way to win.
I found out the party configuration that caused neither Rayquaza nor Breatherna to attack Pikachu, so I could PRZ Breatherna, and then do the same to Rayquaza. I found out the right move and party combination (I should probably learn how to properly manipulate RNG) for Devihell to use a Hyper Beam, and paralyzed him on the recharge turn. I wore him down with Endeavor and Dragon Rage.
I got Angeallen to attack not-Pikachu to paralyze it, landed a Leech Seed the next turn with Shaymin, did the same to Breatherna, and used my remaining Revives to stall them out since neither of them had moves that could hit both opponents and since they would sometimes be paralyzed.
After winning, we're told we STILL aren't done and there are more battles before we can go home. However, we're given a choice of one of the four Legendaries to take with us.
I'm always a fan of pure edge so I went with Devihell.
Afterward we're given a choice between whether we want to go back or go further (presented in a way where "go further" isn't an option until you say no to "go back"). Not thinking (I at least loaded a save first), I said to go back.
I wake up in the village, but the scripts are completely broken. Most of the villagers are gone, both Eevee Rose and Espeon Rose are there (talking to Eevee sends you back to an earlier mission), there's a second Eevee in Gardevoir's house, and all the features you unlock throughout the game like PC and Daycare are gone. I couldn't even get back to the Tower of Fate if I wanted so it seems going back makes the game unwinnable.
So of course I reloaded the save, went further, and can plainly see that I have to do ANOTHER boss rush between the other four Fakemon Legendaries. Because quality.