The problem.
First off, as you know, the person who does the most damage to a victim receives the kill. This puts melee to a disadvantage because they are the last to hit (casters are first because they have range while melee have to run up to caster) and casters are the last to hit if the victim runs/kites away to safty. Basically stating if the victim lives for very long, the kill will always go to the caster.
Here are my 2 fixes.
1st possible fix. If a victim goes from below 100% hp to 100% hp, all the damage that others have done are wiped clean from the intake damage parser. So if someone has been living with necro dots for 5 min, then finally hides(because there are no more dots) and then the victim recives 100%hp and then a sin comes in and kills him in an instant the sin would receive the kill because he started on a victim with 100% hp again. (as if no damage was done)
2nd possible fix. The player that does the most damage on a victim in the last 30 sec of the lifespan, the killer with the most damage on the victim gets the kill.
Real life example of why this should happen. It's because I just got into a js match with a loosing team. I killed about 6 players with 100% hp from the start. I only got 1 kill. So what does this mean for other players? They just hide because they don't want to get lots of deaths for the high possibility of having no reward.