I'm currently working on completing my generation III Pokédex, which is fun but also rather challenging. One of the reasons for this is the existence of roaming legendaries. The game I'm currently playing is FireRed, and my starter Pokémon was Squirtle, so the roaming legendary I'm dealing with is Raikou, but the strategy I'll be describing works no differently in LeafGreen, and should work well catching Entei as well. Suicune, for reasons detailed later, is actually a lot easier to catch, and doesn't require such a convoluted plan. Well, nothing requires a convoluted plan like this, but it's a lot more fun this way.
I maintain that the only Pokémon I could justify using a Master Ball on would be Arceus, and since the Azure Flute was never distributed and it's impossible to legitimately access the Hall of Origin, it seems like there's going to be a lot of unused Master Balls lying around in my bags. No matter, though, because not using a Master Ball means I can come up with a more interesting strategy for catching the hard-to-catch Pokémon. Another limitation that I imposed on myself here was that I decided only to use Pokémon catchable (or obtainable through trading with an NPC) in FireRed (although all the Pokémon I use are also obtainable in LeafGreen). If you allow yourself to use Pokémon from Emerald or Colosseum/XD, you may be able to come up with a different strategy, but I chose not to, and not just because I do not currently have any of those games in my possession.
Don't Hear Me Roar
So, what's the challenge in catching Raikou? There are several, but one of the most frustrating is that in FireRed/LeafGreen, there is a bug wherein if a roaming legendary uses the move Roar to end the battle, that Pokémon will permanently disappear from your game (you can still just reset the game without saving to undo this, though). This is an issue because both Raikou and Entei know Roar. Suicune, however, does not, which is why it's a lot easier to catch.
One strategy is to teach a Pokémon Taunt, which forces the target to only use damaging moves. However, constantly ensuring that the legendary doesn't end the battle is annoying and decreases the frequency by which you throw Ultra Balls at it. In particular, the move Taunt only lasts for two turns in generation III, so this strategy is extremely cumbersome.
Another potential strategy utilizes the ability Soundproof, which prevents the use of sound-based moves, including Roar, and because it's an ability, there is no recurring upkeep needed in-battle to maintain its effect. There are three Pokémon obtainable in FireRed/LeafGreen with this ability: Mr. Mime, and Voltorb/Electrode.
I chose to use Mr. Mime because Mr. Mime can learn Hypnosis. The Cave of Dragonflies says that the catch rate for a status-less Raikou with strictly less than 50% health using an Ultra Ball is ~1/62, as opposed to ~1/31 for one that's asleep, and I'll take any advantage I can get.
Acquiring the Mime
The fun part about acquiring an ideal Mr. Mime is that Mr. Mime doesn't learn Hypnosis through leveling up; it learns it as an Egg Move, which means we need to breed one! The only compatible Pokémon that can breed Hypnosis onto a Mr. Mime are Drowzee/Hypno, and Spinda. Spinda can't be acquired without a Hoenn game, so Drowzee/Hypno it is.
In generation III, a bred Pokémon will be the same species as the mother, and will inherit moves from the father. I caught a male Hypno in the Berry Forest on Three Island, because it's the Pokémon that will need to pass on a move. The only way to acquire a Mr. Mime in FireRed/LeafGreen is by trading an Abra to an NPC on Route 2 (in the house south of Diglett's Cave). Abra can be caught easily in the routes north of Cerulean City, or bought at the Rocket Game Corner. However, this Mr. Mime is male, so I had to breed it with a Ditto until I got a female one, because I want the offspring to be a Mr. Mime.
The next complication is that a caught Hypno will not know Hypnosis since it's a move that it usually learns at level 1. I could have bred Hypno with Ditto until I got another male Drowzee, and then it would know Hypnosis, but I didn't want to do that, and instead I utilized the Move Reminder on Two Island. The Move Reminder will teach a Pokémon a move that it could learn at a lower level, for the price of a Big Mushroom or two Tiny Mushrooms. Mushrooms can be found as hold items on wild Paras, so I taught Hypno the move Thief by TM and then wandered around the B1F floor of Mt. Moon, which only contains Paras. I just used Thief on each Paras to steal their potential Mushroom without needing to catch the Paras, and pretty soon had two Tiny Mushrooms, which I used to teach Hypno the move Hypnosis.
Finally, I was able to breed the female Mr. Mime and the male Hypno in order to get a Mr. Mime that knows Hypnosis (and also, incidentally, Psychic). The next step was to level it up until it would be strong enough to handle a level 50 legendary Pokémon going at it. I have spent quite a while battling two trainers on Seven Island (the two right outside the house in Sevault Canyon where an NPC with a Chansey will heal you, which is extremely convenient for being able to battle repeatedly without needing to go back to the Pokémon Center) over and over again using the Vs. Seeker in order to level up and evolve various Pokémon that I equipped with the Exp. Share, with the purpose of filling up my Pokédex. I used this same strategy to level up my Mr. Mime until it was at least 10 levels higher than Raikou; in fact I ended up leveling it up to level 68.
The Flee Problem
The other challenge in catching Raikou is one that is not the result of a bug: roaming Pokémon, by nature, will attempt to flee from the encounter. Usually, this is averted with a move like Mean Look, or an ability like Arena Trap. However, Mr. Mime can't learn Mean Look, and we have already established that its ability is Soundproof, which is vital to the success of the capture. Additionally, we can't just teach another Pokémon the move Mean Look and then switch over to Mr. Mime, because switching out ends the effect of Mean Look.
My first thought regarding this problem involved the move Baton Pass, which switches out the current Pokémon with another one of your choice, and passes along to it most temporary conditions, including the effect of Mean Look. However, no Pokémon in generation III can know both Mean Look and Baton Pass (except for Smeargle, but Smeargle can only be caught in Emerald). Luckily, there exists a move called Spider Web that is functionally identical to Mean Look. The only Pokémon in generation III (other than Smeargle) that can learn Spider Web are Spinarak and its evolved form Ariados. In a fantastic fit of good fortune, it turns out that Spinarak can learn Baton Pass as an Egg Move!
Thus, it is time for more breed-ventures. The only Pokémon obtainable in FireRed/LeafGreen that are able to pass Baton Pass on to a Spinarak are Ledyba and its evolved form Ledian. Ledyba can be caught in the Pattern Bush on Six Island, so I caught a male one and leveled it up until it learned Baton Pass at level 29 (if you allow it to evolve to Ledian, it takes longer for it to learn the move). I then caught a female Spinarak, also in the Pattern Bush, and bred it with the Ledyba to produce a Spinarak that knew Baton Pass!
Thus, the capture plan becomes: encounter Raikou with Ariados in the battle-first position, use Spider Web, and then use Baton Pass to switch over to Mr. Mime. Then, Mr. Mime can lower Raikou's health and repeatedly use Hypnosis while throwing scads of Ultra Balls at it.
Side note. I don't know how necessary this part ended up being, but I'll discuss it anyway. Something I noticed about Ariados is that its Speed base stat, 40, was pretty low, especially when compared to Raikou's, which is 115. Because a roaming legendary fleeing has normal priority in generation III, it would be a problem if Raikou ended up fleeing before Ariados was able to use Spider Web. Similarly, it'd be a problem if, on the second turn, Raikou ended up using Roar before Ariados was able to use Baton Pass to switch in the Pokémon with Soundproof.
So, I set out to maximize Ariados's Speed through the only way I knew how: EV training! Because I absolutely did not want to deal with breeding for ideal IVs. EVs are awarded for defeating Pokémon in battle (or by holding the Exp. Share), and up to 255 can be acquired in a stat, although only 252 of them actually count. Additionally, a Pokémon cannot have more than 510 EVs, so it's important to coordinate the early training of a Pokémon that you want to have certain stats. Specifically, I did no training with Spinarak prior to maxing out its Speed EVs because I didn't want to have to worry about what EVs it would obtain from the training process I described above (and there's also no way in-game to see what EVs a Pokémon has).
EV training can take quite a while, though, so I did a few things to speed up the process. First of all, you can give a Pokémon up to 100 EVs in a stat using the appropriate Vitamin; in the case of Speed, it's Carbos. Carbos can be purchased at the Celadon Department Store, but at a hefty price of 9800 Pokédollars per unit. However, while training Pokémon on Seven Island as described above, I had one of my stronger Pokémon hold an Amulet Coin (given to you by Professor Oak's aide in the gate between Celadon City and Cycling Road if you have at least 40 Pokémon in your Pokédex), which doubles the prize money awarded for winning a battle. Thus, I was acquiring quite a lot of money as a side effect of all the training I was doing. Because of this, I was able to easily buy 10 Carbos and give them to Spinarak.
The location I chose to train my Spinarak was Diglett's Cave, which, obviously, contains only Diglett and Dugtrio. Diglett awards a single Speed EV when defeated, and Dugtrio awards two, so any encounter you get in will prove useful toward the training process. However, the newly hatched Spinarak is too weak to battle in this location at first, so I gave it the Exp. Share and had one of my stronger Pokémon decimate a bunch of Diglett and Dugtrio until Spinarak was in a level range that it was able to battle them by itself. While doing this, I kept track of the number of Speed EVs that Spinarak had using a stitch counter.
Once Spinarak was strong enough to defeat Diglett by itself, I gave it the Macho Brace, which doubles the amount of EVs it receives from battle. It can be found by standing in the Viridian Gym in the exact spot that Giovanni was standing in, and using the Itemfinder (given to you by Professor Oak's aide in the gate on Route 11 east of Vermillion City if you have at least 30 Pokémon in your Pokédex). Thanks to this, I was able to get Spinarak to 252 Speed EVs relatively quickly.
After this, I trained Spinarak up to exactly level 50 (it is important that it does not exceed level 50, as discussed later), letting it evolve to Ariados in the process, and letting it learn Spider Web so that it has the desired moveset. However, I noticed that even then, Ariados's Speed stat was less than 100, and less than even the lower bound of Raikou's Speed stat according to Bulbapedia. This is likely because of how insignificant Ariados's Speed base stat is compared to Raikou's, but it was still disheartening, and I don't actually know if the EV training I did was necessary.
It was at this point that I remembered that the Quick Claw existed, which is a hold item that gives its holder a 20% chance of going first in its priority bracket. You can find it in Area 2 of the Safari Zone. I ended up giving it to Ariados, and did not have a problem in my encounter with Raikou with regards to Speed. I really do not know whether this was influenced in any way by the EV training I did, or if it was solely due to the Quick Claw, because I don't know if the Quick Claw displays a message when it activates in generation III (it certainly does in generation IV+).
Roaming legendaries are hard to find! I've found a lot of different strategies on the internet for how to quickly encounter one, but it still took me quite a while. Importantly, the roaming legendary in FireRed/LeafGreen will only be found on mainland Kanto, and only after you've defeated Team Rocket on Five Island. Additionally, Raikou changes what route it will appear on whenever you move to a different area. It has a tendency to move to a route adjacent to where it was, but sometimes will just teleport to a random location. With that in mind, I set off to encounter Raikou.
First, I bought some ~20 Max Repels, and put my level 50 Ariados in the battle-first position of my party. Because Raikou will be level 50, it won't be repelled, but everything else will be. Then, I went to Route 2, where the southern entrance to the Viridian Forest is, saved the game, and used a Max Repel. I then biked around in the grass back and forth four or five times before biking into the gate and immediately exiting it again to repeat the process, using another Max Repel whenever the current one ran out. If I completely ran out of Max Repels, I just soft reset the game and tried again. Eventually, Raikou appeared! It takes a while, it just does.
When I encountered Raikou, I used a move other than Spider Web and just let it flee. Why? Because after encountering it once, it appears as "seen" in your Pokédex, and you can use the Pokédex to track its current location. Ending up on the same route as it is still a challenge, but it's much easier than running around blindly, and once you do corner it on a route, you're able to save the game before encountering it so that you can soft reset if something goes wrong.
Preparing for the encounter: one of the things I usually like to teach a Pokémon designed for catching Pokémon is False Swipe, because I then don't have to worry about accidentally fainting the target. Unfortunately, not many Pokémon in generation III can learn False Swipe, especially because it did not become a TM until generation IV. However, the catch rate calculator on The Cave of Dragonflies says that Raikou's catch rate (while asleep and using Ultra Balls) increases once its health goes below 25%, but doesn't increase any more after that, so using False Swipe to get its health to exactly 1 HP isn't exactly necessary. It still requires some luck and precision, because you don't want to accidentally faint Raikou, but it can be done without False Swipe.
So, I instead taught Mr. Mime the move Frustration by TM, which deals proportionally less damage the higher the Pokémon's friendship is, which certainly had to be high after all the training we did. I ended up underestimating how little damage Frustration would do; when I used it against Raikou, its health barely changed at all. Something I might've done differently would have been to carry herbal medicine to decrease Mr. Mime's friendship, or maybe I should have found a different move to teach it. It did not end up mattering in the end because I used Psychic once and ended up reducing Raikou's health to about 1/3rd of its maximum.
Another important preparation step: Raikou's ability is Pressure, which means that any move you use runs out of PP twice as fast as it usually would. This is important to consider because the accuracy of Hypnosis is not that high, and it has 20 PP, which essentially means that you get on average 6 sleep sessions out of Raikou before running out of PP. Unfortunately, the items that can help deal with this are not reliably available: Ethers and related items can't be purchased, and can only be found repeatedly by the ability Pickup in generation III in Emerald. There are also only three Leppa Berries findable in FireRed/LeafGreen, and it's not possible to grow berries in Kanto, only in Hoenn.
Finally, I bought 99 Ultra Balls, because who knew how long it would take to catch Raikou? Turns out, it only took me around 20 Ultra Balls before I caught it, and I only had to replenish the PP of Hypnosis once. In the end, all of the preparation I did for the Raikou encounter was worth it, because I now have a Raikou in generation III, and the encounter didn't even end up being too much of a hassle!
This experiment was a lot of fun; I certainly could have gone with a simpler method of catching Raikou such as using a Master Ball, or training up a Gastly (which can learn Mean Look, Taunt, and Hypnosis), but I think that this method was a lot more fun to plan and execute. I also think that just being able to use a Pokémon that had Soundproof made the entire encounter so much easier because I didn't have to worry about Roar. Either way, I love coming up with challenges, and I'm excited for the next one: catching Mewtwo!