I've made some adjustments to the formula. It now does the following for each type:
6 pts if damage taken < 0.5, but not immune
7 pts if damage taken = 0.5
9 pts if damage taken = 1
11 pts if damage taken = 2
13 pts if damage taken = 4
15 pts if damage taken >= 8
It then adds on the following modifiers:
0/12/18 points if 0/1/2+ types deal at least neutral damage
0/12/18 points if 0/1/2+ types deal at least 2x damage
0/12/18 points if 0/1/2+ types deal at least 4x damage
8 points if not immune to ground (spikes)
8*(damage taken from rock type) (Stealth Rock)
So here's the ideas behind this one: Firstly there's some base numbers for each type. Immunities are really good, Big weaknesses aren't quite so insanely punishing for the type now. However, having at least 1-2 weaknesses is kind of a thing since that means you CAN be taken down quickly, so types are penalised extra for the first few weaknesses (also neutral and double weaknessses) they have, which encourages types with no weaknesses at all to float upwards. Finally, there's an adjustment based on vulnerability to Spikes and Rocks. I'd like to weight towards every type individually, but those are the big ones at least.
The top three types here all share: Normal + Water + Electric + Fighting + Poison + Ground + Flying + Ghost + Dark + Steel + Fairy. Then there's:
93: Fire + Dragon
94: Fire + Psychic + Dragon
94: No extra types
Each of these has all the immunities (8 of them), takes neutral damage from 3-4 types and at least half damage from 5-6.
I'd be interested in the best and worst typings when you limit it to dual types, and again if you limit it to triple types. The latter would be really interesting to consider due to Trick-or-Treat and Forest's Curse (i.e. focus especially on triple types with Ghost or with Grass), but other triple types might come into play in the future. Anything beyond that is unlikely, at least for now.
Double types I did a while ago. Steel/Fairy, Flying/Steel and Normal/Ghost top the list, while Ice/Rock, Grass/Ice and Grass/Psychic are at the bottom -using my old formula. Adjust this formula to be like the new one...
Ghost/Steel tops the list at 172, followed by Flying/Steel (174), Steel/Fairy (177), Normal/Ghost (179), Ghost/Dark (181) and Ground/Steel (181). At the bottom is Ice/Bug (262), Fire/Ice (251), Ice/Rock (248), Fire/Bug (245), Grass/Bug (244) and Grass/Ice (242). Ice/Bug isn't a type I'd seen near the bottom before... I suppose it fell down because it hits that two double weakness threshold, one of which is that crippling Rock weakness.
I'll consider how I can do triple types soon. Shouldn't be too hard to adjust.
Oh and the worst multi-types, just for the curious... well, you can probably guess what they all share (hint: It's something which I should have limited in my formula but didn't). I'll adjust that one soon as well.