Okayyy i finally figured it out. it's madness but i got it to work. Deleted some of my previous posts to keep it clean
Download:
HERE (dead)
There were
two issues that had to be tackled. Since it took me so long to get it to work, I'd like to explain my approach
1. It kept switching the players around, right? And I didn't know why exactly, until now. Before, I thought it simply wasn't passing the correct player from the main thread up to upping/lowering the killcount. I kept playing around with ways to track all the active players with arrays, but this wasn't enough. Basically the problem was that just using "parm.other" on an executed script (from the nade's .tik file) without a trigger-reference, simply doesn't work.
Whoever last touched the flame trigger, became "parm.other". Meaning that after a kill, suddenly the pitcher was also the guy who last touched the fire trigger! So, the only way this was going to work, was to use a TRIGGER in the main thread as well.
The way I approached this problem: right after you throw, it approximates your position (origin x,y,z) from the origin and trajectory of the grenade and spawns a trigger right where you stand. You touch it instantly, after which the trigger gets removed again.
NOW it has the correct player! 
.
While standing still, it gets the origin of the player very accurately. But there is a 1-frame delay in spawning and touching the trigger, and when running/jumping/falling, the trigger needs to be a certain size to account for this (otherwise it won't trigger and the script won't continue). I tweaked it so it *should* always work (and is small enough so it can't be accidentally triggered by a different player).
2. When the fire trigger is touched, it correctly identifies the burnvictim with "local.burnvictim = parm.other", but forgets all about local.firestarter. So simply trying to pass through local.firestarter to the "onFire" thread doesn't stick, since after "local.burnvictim = parm.other" local.firestarter becomes NIL for some reason.
To tackle this, the script keeps track of all current players and assigns the $player[local.i].idtag = some unique number which is also stored in an array at a specific index location. Simply check the player's idtag with the one in the array and you've found your pyromaniac.
Now, i've only been able to test this with 2 players so i'll gladly test it out further with more people.
I was so excited that it worked, that I did something extra, couldn't help it

In yolo-mode (rcon set incendiary_yolo 1) when you're on fire, press "use" to blow yourself up. This causes massive damage and spawns a new fire. Also, with every incendiary you throw, you taunt "fire in the hole!".
