There are a metric fuckton of RPGs out there that are based on settings with a lot of canon: Star Wars, Star Trek, Firefly, the Forgotten Realms, Battlestar Galactica, etc. By turning these popular franchises into games, or in the case of the Forgotten Realms, by publishing a shitload of novels with superstar NPCs like Drizzt and Elminster, gamers have to plan their games around canon events, like Luke Skywalker blowing up the Death Star, Mal Reynolds releasing the Reaver video, or Drizzt being an angsty dude with scimitars and a panther.
This is an especially big issue when you have settings like Star Wars or Star Trek, with multiple sources of canon: movies, TV shows, novels, comic books, and video games. The more popular a setting, the more canon there is, and the more people there are who love that canon and want to adhere to it.
The way I see it, there are three ways to play a game in a heavy-canon setting.
1. Accept canon events and attempt to play around them. This sometimes leads to NPCs that are more important and badass than the PCs and the game being heavily railroaded. Not fun at all. No one wants to play Pilot #3. They want to play someone like Luke Skywalker or Han Solo, someone who influences the plot and is important to the game.
2. Accept canon events and let the players play the important people, like Luke or Han. Also generally not a great idea, because the game is usually still going to be heavily railroaded. The player of Luke Skywalker is almost certainly going to want to blow up the Death Star and, if the game adheres to canon, that's where the plot is going to go.
3. My personal favorite, ditch canon and go nuts with the setting. Imagine a game where Luke Skywalker's uncle never buys the droids. Luke goes back to work on the farm for another season and it's up to the PCs to take on the Empire. Or how about a game where Mace Windu kills the Emperor, Anakin Skywalker kills Mace Windu, and then goes on a Jedi hunt around the galaxy. The Separatists are still around to harass the Republic, the Republic never falls, and the Sith are no more. The PCs are Jedi who are either A) hunted by Skywalker, or B) sent out to hunt down and capture Skywalker.
Now, I love certain canon-heavy settings. Star Wars is fucking awesome, and I really like a lot of the Expanded Universe stuff, like the Yuuzhan Vong War and the super-badass Force powers the Jedi got in the prequel movies. But, when it comes to games, fuck canon. Canon is all about how awesome the characters in the movies/books/TV shows/etc. are, while games should focus more on how awesome the PCs are. Captain Kirk is a badass, but he shouldn't be showing up in games for more than a cameo appearance because he'd steal the spotlight from the PCs. Same with Han Solo, Luke Skywalker, or Elminster.
Let the PCs be the stars of the game. GMPCs are a terrible idea, and that's generally what characters like Elminster become if they show up in a game for longer than a cameo. Give the PCs the spotlight, let them go nuts and do the badass things they'd want to see in a movie or book, and let the NPCs be there as villains or supporting cast.