Oh, I feel that I should add one more thing - the reason why a pre-determined mathematical formula will not be suffice to solve the player evaluation issue. (eg. pre-determined formula will be like contact 50 = 0.260 batting average or something like that). Here is what I wrote in my Rating Translator readme file:
"The translation between ratings and the expected performance is a problem that has no easy answer. The rating to stats translation needs to be done within context, not depending on pre-determined translation formulas. The actual translation depends on league total setting, rating itself and also the opposition rating. In short, pretty much every league will have its own unique rating translation formulas."
Basically, what this means is that the relationship between rating and stats is not fixed. Suppose a player has a contact rating of 50. If such player plays in a league full of great pitchers, then his expected batting average will be definitely lower than what he would've performed in a league full of crappy pitchers. You can think of competition level difference as the difference of playing in ML and AAA. A player with the same level of ability will post different number in major and minors. There are also other factors such as league total setting and others. Anyway, this post is just to demonstrate some of the complexity of the issue.
Again, please share opinions if you have any.