I have played Pokémon for many years but have always struggled catching Snorlax without cheats.
What are the best strategies to approach catching both of them in Pokémon Fire Red?
Thanks in advance.
The strategy is the same as with every other Pokémon...
... with the additional benefit that you can see Snorlax before challenging it, meaning that you may save before waking it up, just in case you mess up.
Use a move that causes status conditions.
Avoid Burn or Poison. While they improve your catch rate by 50%, they may also knock your target out.
Sleep and Freeze double your catch rate, but can heal over time. Paralysis only improves your catch rate by 50%, but does not heal over time.
Sleep heals after 2-5 turns, meaning it is guaranteed to heal after 5 turns. Freeze has a 20% chance of healing each turn, meaning that it is not guaranteed to heal, but is most likely to heal within 3 turns.
Remember that a Pokémon can only be affected by one status condition at a time.
Snorlax is carrying a Chesto Berry, so will immediately wake up when put to Sleep the first time. Snorlax also knows the move Rest, which it uses to heal itself by putting itself to Sleep.
Use False Swipe, which guarantees to leave your target with 1 HP (unless the target is a Substitute). Use the best Pokéball you own (except maybe the Master Ball) to further improve your catch rate.
If you don't have access to False Swipe, use whatever damaging move you do have, observe by how much the Pokémon's HP bar diminishes, and try to guess if using the same move again may knock the Pokémon out or not. If it would, use a weaker move. Repeat until you can no longer reduce the Pokémon's HP bar without knocking it out.
Remember that even if you failed to catch the Pokémon, you can just throw another Pokéball. Make sure you brought enough Pokéballs with you, just in case you're not being lucky.
Be prepared for a long fight. Snorlax can Rest, which puts it to Sleep, but also fully heals it. If you can reduce its HP fast enough, you could try and catch it while it's still sleeping. Note that Rest can only be used 10 times. After that, you'll have to put Snorlax to Sleep yourself, or use a different status condition, like Paralysis.
I recommend using the move Thunder Wave. Unlike moves like Hypnosis, which only has a 60% chance to put the opponent to sleep, Thunder Wave has 100% accuracy. Another good move is Yawn, which bypasses accuracy and is guaranteed to hit, but takes a full turn to take effect.
Snorlax exclusively uses Physical Moves, so a Pokémon with high Defense is recommended.
I caught it using a lvl 24 pikachu with thunderwave, then used my tanky lvl 37 charizard with cut to slowly chip down its health while paralyzed. Worked like a charm, caught it third try with a regular pokeball using this method. Only fought it once. Anyone struggling might find this method useful.