It's Naughty Dog's fault.
They need to implement a system that gives the kill to the one who did most damage unless this person can't shoot the opponent any more. In that case, maybe the whole thing should be timed, like "1 second and later = kill for your teammate, everything inbetween this one second = kill for you". I don't know, nothing is perfect but the current system truly sucks and is unfair. It almost always gives the kill to the one who shots second.
But Co-op is where the assists are truly bad. You do 99% damage to the brute, someone else shoots once, he gets 2000 and you get 25.
But ND did so many things wrong in this game... assists in competitive, as annoying as they are, should be considered as a smaller problem.
It does suck in Co-op, especially when you have to take down the armored brute.
I spend about 3 clips just to pop the helmet, but they get the cash doing the melee. (which is really frustrating when you're with randoms that try to melee every brute they come across and dying stupid deaths)