It took me a little while but I have a formula that basically gives everybody a point for playing. The maximum point score based on first place is 10 points no matter how many people are in the tournament, the minimum is one.
It gives by default
1st = 10
2nd = 8
3rd = 6
4th = 4
5th = 2
6th = 1
7th = 1
8th = 1 etc..
1+max((11)-(r*2),max((11)-(r*2),0))+(nh)
It awards every player a point for every hit they make. So on a 20 player tournament a person could finish 6th but earn a total of 15 points or so by knocking out all other players before them, and in doing so potentially win more points than the tournament winner. I think this may better reflect skill level, maybe not, of course luck is always a factor and timing etc..
When I have time again, I might go back and try to scale the points awarded to how many people are in the tournament by formula rather than giving points for the number of hits... or do both.. don't know. Like increase the maximum points for first place and award more points down the scale depending on how many points are up for grabs by players in the tournament. What I have here works well for smaller tournaments, which is all I've played so far.