Again, a 0/50/0 player may make the game winning play. You CAN'T base Elo on KDA or anything to do with that, simply because it's entirely possible for the abnormal to happen. You would need a player at a very high (pro level) level of play to judge each game, to tell you who made the right plays and who didn't, so you can distribute Elo gain/loss.
Elo is an imperfect system. But there are far worse systems, and so far no systems (to my knowledge) that are better. Feel free to develop a better system for a game like League of Legends, but it's very difficult. You really do need time and money to put into it.
As for Bungie's rating system - correct me if I'm wrong, but is Halo: Reach drop in drop out like most FPS games are? If so, that's why a KD rating system works. Wins and losses in overall games don't matter as much, and you can have many different player levels in one game. But in League, where winning and losing is the only thing that matters, and you can't just drop out of a game - that's the only constant measure you can really use.
Also, in the past, Riot has had trouble with servers (anyone remember patch day in Season 1? Literally unable to play for a day or two). They did an overhaul, but it took time. They're probably working on the problem, but it isn't as easy as flipping a switch that gives them extra physical servers.