I have also thought about this topic and I’m glad to see you’re taking into account defensive performance. Burning an opponent’s flags is definitely a valid (and solid) contribution a team member can make.
This got mentioned, but it bears repeating: removing a tank or high value hero is substantially more valuable than the actual points assigned. At the least, the attacker who does that should get a pro-rated portion of the team kill bonus, assuming that team gets finished later. That is, if an attacker takes out a tank and, let’s say, two other heroes, then a teammate finishes the last two, the first players should get at least 3/5 of the kill bonus (and probably more).
Lastly, I actually think the biggest issue in calculating something like this is comparing players to others around their level. Of course a player with a team power of 3500 scores more points than a team of 2200. But I don’t think that tells the story. What’s important is how well the 3500 team scores compared to other teams around 3500, and how the 2200 does compared to other 2200’s.
Because of the way alliance war matching works, a 2200 on my side implies a team of around 2200 on the other side (I know it’s about the 30 heroes and blah blah blah, but team power is the best / only available proxy I’m aware of to start measuring this). I want my 2200 to score more points / soak up more opponent’s flags than their 2200 does.
What I’m envisioning is some sort of VORP (value over replacement player) metric. I’m totally making these numbers up, but the baseline for a 2200 player may be to score 100 points and burn 4 enemy flags. But for a 3500 player it may be 300 points and soak 6 enemy flags. If that were the case, a 2200 player scoring 140 would be more valuable than a 3500 scoring 250.