Z-score describes how a datapoint compares to a population of datapoint, so of course Staal comes out with a negative z-score when you compare him to a population of 14 centres! By definition, a z-score of zero is exactly average within a population... so since Staal likely isn't top-7 within that group of 14 players, he's going to be negative. When you calculate z-scores, you need to compare to a larger population, and in my view the most reasonable player population to compare to is the "owned" players at a given position in a league.
So if I'm reading between the lines correctly, your issue with z-scores is that they cover a span of negative and positive numbers (with the average at zero) and that people have an inherent cognitive bias against negative numbers (ie whoa Staal's a -1.6, I'm not touching him with a 10-foot pole
)? If you've got an issue with negative numbers, blame the player not the game!
With that said, you (FHG) have adjusted the rankings accordingly so 1 stat doesn't dominate which is good, I just ran default Yahoo! settings and Staal came out ranked 9th overall, so that's pretty good value and pretty much what I expected.
We haven't adjusted the rankings - the numbers are the numbers! The league setup that Terry used to back his article probably had a different number of teams and possibly different starting rosters, all of which affect the valuation of a player.
But, of course, why would you calculate all this stuff yourself and be forced to deal with that ugly cognitive bias? Seeing as though we at FHG are so user focused and we don't want our users to mistakenly believe that Staal shouldn't be touched with a 10-foot pole, we've transformed the distribution of value so that zero sits not at the average but at the lowest owned player.
I think z-scores (modified FHG style, of course) are absolutely the best approach to player valuation since they automatically adjust to your league size/settings. With the same stats, a league that dresses 3C/3LW/3RW/5D is going to have very different player populations at each position when compared to a league that dresses 4C/4LW/4RW/6D.
However, as we've both pointed out, player valuation does not equate to team performance.