The way I see it is this. Each time you buy a pokemon game, you are adding on to a specific canon that you lay out yourself, based entirely on the concept of "potential". Bare with me here, this might be a little long. So lets say you buy FireRed, and start off on your pokemon journey. For arguments sake well call you Dan. FireRed is still the story of Red, you aren't carving out your own adventure here, rather you are playing off of "potential". The in game avatar, a Dan inhabited Red, is going through the motions and has the potential to do literally everything possible in game. For example DanRed can catch all of the pokemon, while regular Red has a canon team as seen in Heart Gold/Soul Silver. GameFreak is acknowledging that Red still indeed did go on his adventure, and has his own story, but by the time you get to Heart Gold that doesn't matter because Dan is now inhabiting Ethan, and playing off all of his "potential". It like two divergent timelines in one long canon. There's the Dan protagonists, and the regular protagonists.the regular protagonists are accepted by GameFreak, while the "Dan" protagonists are accepted by Dan, and as Dan moves on through the games and imports/trades, his own canon develops outside of the realm of the games. The fact that you have, lets say, a mewtwo from Leaf Green in pokemon black is because you played these games, and fulfilled the potential to capture a mewtwo. This mewtwo is now part of the outside realm where all of the potential Dan fulfilled lies. So when each of us goes on wifi to battle, that avatar means nothing, because we've each built up our own canons desperate from the games, using the games as catalysts. We go into Emerald, unlock all of its potential or even do nothing, and take what we got out of it and drop it into our own realms, build our own trainers and personas, and use them to trade and battle. So everyone can have legendary pokemon if they fulfill the potential of the player character to catch one.