Decathlon and skating are out of the question. There, a fixed number of rating points are assigned for each second and meter of result achieved, meaning the gap between the leaders is calculated automatically, not like in your case, and I'm curious how you would determine this number for each map individually...
The leader's result determines the value (let's call it X) of one game day (or 1 accumulated skeleton, 1 accumulated unit of experience). X = 1/leader's result.
Then, the number of days spent by the player (accumulated skeletons, accumulated experience) is multiplied by this value: Y = X * player's result. It's easy to see that second place receives more than first, third place receives more than second, and so on. To prevent this, we simply take the ratio R = 1/Y. Or, if we substitute variables, R = leader's result / player's result.
If you don't like using the leader's result to determine X, the idea is to use a fixed number for all maps (but how can you correlate days, accumulated skeletons, accumulated experience, etc., with such a fixed number? Although, in decathlon, they have found such numbers to relate seconds and meters, but as you mentioned below, the competitions take place on the same equipment, while in our case, they are always different).
Все люди - братья, но в каждом из нас спит волк.