Well it's not that smart to keep the players playing in the best league in the world from participating so the OP's notion is a little off. But a few factors will help
1. Canada needs to do a better job of roster selection, meaning taking guys that can play roles instead of the best names that accept the chance to play.
ex. Tyler Myers has been playing awful for years, he shouldn't have been invited. Defensemen need to play defense, and you take guys that can perform, not think about potential.
2. Goaltending.... this is a larger issue as Canada hasn't produced a lot of good goalies. The golden era of Roy, Joseph, Broduer, Ed Belfour, and more are gone... Canada isn't exactly taking starting goaltenders to the WC, and it shows. Lack of national depth.
3. Coaching staff is thrown together for the tourney, after a dissappointing season's end. Other teams have either national coaches that know the players and system, or have dedicated staff members for the tournament.
4. Big Ice hockey is different, you need mobility. Canada's roster had too many guys that simply are not great small ice skaters, and expecting them to play big ice hockey is a mismatch.
ex. Evander Kane is a hell of a player, but his game on big ice is terrible, it just simply didn'y work.
5. It's great to give kids a look, but how many is too many? Are you playing to win or are you showcasing young talent? The majority of the other rosters are experienced laden teams with only a few kids that are in their 1st..2nd..3rd year pro.
Fix a few of these and Canada will medal. Also goaltending is really important, Scrivens lost that game for Canada. Myers facilitated that.