Pokémon Crystal Tips

Useful information on catching legendary/tough to catch pokémon.
This is just an opinion and suggestion on some pokémon that are useful for catching legendaries.

First if the pokémon your after runs away (entei etc.) catch a zubat, available in every cave and level it up to a high level, around the level of the pokémon you want, which for entei is around 40. Make sure you let it learn "Mean Look" upon leveling up. By the time its 40 it will be a Golbat, or a Crobat if you treated it well. Both of these pokémon's speed stat is very high (130 for Crobat).

Upon finding the pokémon you want use mean look to ensure it doesn't run away. Then switch to the next pokémon.

Have a parasect at a high level (70+ since you will using it alot). Make sure on level up it learns "spore", which has a 100% accuracy making it the best sleep move, and "False Swipe", which will always leave the enemy with exactly one health and will never KO. It may take a while to bring a steel or rock type down to 1 health but with it asleep it should be easy.

A pokémon with 1 health sleeping like a baby should be easy to catch.