Well, I think that answering to this question is pretty complex, so I'll probably write another post when I get more ideas...
The point is that most glitches are discovered by chance. So the more you play a game, the more chances are that you randomly stumble into one.
You can also specifically look for glitches, but it requires a lot of creativity. For example, you could try put the game into a very unlikely circumstance. For example, some glitches are caused by having two different events happening at the same moment, like
having both the player and the boss dying in the same frame or
hitting yourself while you're transitioning from a room to another. Another thing to try is to do specific movements with pixel-precise positioning. Another is trying to spam the same actions or events until the game memory floods or an address overflows. Some glitches are discovered while TASing, because the fact itself of trying to put a game to its limits can often cause exotic phenomena. To put it simply: mess with the game, molest it until it freaks out.
Remember, always record a movie while you search for glitches, because most times it's not easy to figure out what actually caused it, so having a recorded movie gives you the chance to look at it again closer, or even show it to people we could collaborate by looking at it with a different approach.
By the way, the first Pokémon series are by far the most researched ones in the world, so it's really unlikely to discover new glitches for them. Also, you mentioned a very hard glitch that requires advanced knowledge of that game. In any case, if you want to learn more about glitching in Pokémon games, you should visit this site:
https://glitchcity.info/