Grades should be more dynamic.
So far, I've figured out that grades are based on more than just KDA. The time of the game, if nothing else, also seems to affect it (you need a higher KDA the longer the game goes since you had more time to get it). It seems like other things might play in as well....possibly role, cs, etc. Who knows.
BUT, I think your team's performance should play in. I'll just give a small example. I main support. If I have a 3-1-1 in an even, balanced game by the 30m end, I didn't really do much. Sure, I didn't die, but maybe I was afk a couple times to not get more than 1 assist. SO maybe a C grade. But, what if that is in a horrible game with 2 teammates going 0-8-2? Suddenly 3-1-1 looks a lot better than a C.
Anyway, there it is.