Separating Skill from Randomness in Binomials (baseball)

#1
With a stat like On-Base Percentage (OBP) in baseball, we can treat a sample of different players' stats as a mixture of both random binomial variance and a difference in skill. If we have a group of players each with a different OBP, then for the overall group, variance(observed) = variance(random) + variance(skill). For example, let's say for a group of 10 player who all have 500 plate appearances (PA) the average OBP is .330. We'd calculate variance(observed) as the variance of a sample so for each player take (OBP(observed) - OBP(average))^2, sum each individual variance up and multiply by 1/(N-1) or 1/9. The random variance equals the variance of a binomial, or p(1-p)/n, where p = the average OBP and n = 500 plate appearances. We then can figure out variance(skill) simply by subtracting variance(random) from variance(observed). Take the square root of each to get the SD and see how SD(random) compares to SD(skill).

The thing I'm having trouble figuring out is how to calculate this if each player doesn't have a constant number of plate appearances. For example, what if player 1 only has 200 PA, while player 10 has 700? We can calculate the average OBP of the group either by averaging the OBP of each player in the sample, or just sum the PA's and times on base for every player and calculate OBP that way. I'm guessing the latter would be better, because doing it the former would result in player's with lower PA's having larger relative weight in the average. For example, a player with only 100 PA having an OBP of .400 would skew the average upwards.

So when we go to calculate variance(observed), we run into the same problem if we do (OBP(observed)-OBP(average))^2. That is, we are giving equal weights to each player in the sample, even though some may have significantly more PA. So I guess my question boils down to how we weight variances when they are based off of different sample sizes?

Hope that makes sense - if I need to clarify anything let me know. Thanks!