Just ran single season simulations of 11 seasons (1979, 1983, 1987, 1991, 1995, 1999, 2003, 2007, 2011, 2015, & 2018).
Ran with trades off, 6 with end of season rosters and 5 with start, and no user involvement beyond that.
Default settings for Goals/Game, Penalties/Game, and Fights/Game were used.
Finding
Penalties/Game were pretty accurate. 10 seasons had more penalties than real-life. Overall difference ended up being that the sim averaged 1.19% more penalties than what league details said (8.204 versus 8.377).
Goals/Game was VERY inaccurate. All 11 seasons averaged fewer Goals/Game than the settings. Overall, there was 6.21% fewer Goals/Game in the sim than the settings (6.24 versus 5.86).
It looks like Goals/Game are mostly driven by goalie save percentage. In real-life SV% in those years was .8988 versus the sim average of .9094. To put this difference in perspective, when an AHL goalie is promoted to the NHL you'd expect there SV% to drop by .09-.11 points. So the sim is overestimating SV%s by the difference between an average NHL and an average AHL goalie.
Conclusion
To get more accurate historical results you'll want to increase Goals/Game from their default numbers by about 6.21% (eg. 5 Goals/Game would become 5.31).
Penalties can be raised by 1.19% BUT this will also increase scoring rates (I did see some correlation between the two but did not test them in depth).
Future Steps
I'll be performing a more in-depth look at FHM 9 stats after grabbing a copy (summer sale?) and will be using some of these findings as I create my FHM Attribute Estimator (goal will be to provide a player attribute recommendation based on stats NHL stats provided).
Hope this helps people in their historical play