France went into a surprise 1-0 lead midway through the first period but Kyle Okposo of the New York Islanders soon levelled.
The superior fitness of the Americans told the longer the game went on and they eventually swept the French aside in the third period of the Group H game.
Canada, in the same eight-team group being staged in Helsinki, made a good start against Slovakia and seemed to be cruising when Andrew Ladd of the Winnipeg Jets put them 3-1 ahead with less than half the game to play.
Milan Bartovic pulled a goal back for the Slovaks and netminder Cam Ward made 10 saves in the final period to help Canada hold on for victory.
The co-hosts also made pleasing starts, Sweden coasting to a 3-1 win over Norway in Group S in Stockholm and holders Finland beating Belarus 1-0 in Group H.
The Swedes peppered the goal with 44 shots as they avenged their 5-4 defeat by Norway in last year's opening fixture.
In the day's other Group S games, Germany beat Italy 3-0 and Czech Republic overcame Denmark 2-0.