Domain scoring based on ranking
You are essentially asking how Google calculates the score of the domains. The correspondence of the score with ranking is different for every search. Sometimes it is closer to x(i) = alpha*x(i-1) (exponential weights). Sometimes it could be linear x(i) = (n-i)*2/((n+1)*n). I've seen some papers that just use the number of the ranking for regression (linear), but this was not about internet domains, but some other topic.

I will try to answer the question about your weights and you weighting system:

You are using 1/1, 1/2, 1/3 ... 1/100 ... 1/1000

Instead you could use 1/1, 1/1.01, 1/1.02, 1/1.03 ... 1/2 ... 1/10

So your weights are $$weights = \frac{1}{1+ranking*0.01*\frac{9}{9.99}}$$
where ranking starts with 0 and ends with 999