I agree that basing LP on in-game behavior is not a very practical approach.
What I think would be better is if your gains/losses per game were not a static result, but rather a variable value that can change based on the results of games AFTER the original game was completed.
While that might sound a little crazy, consider this. Right now if you have a Wood 5 level player on your team doing his promos, your going to have a hard time winning, but regardless of whether you win or lose you get a set amount of points which assumes that you were matched against opponents of your level. The same is true if the other team has a challenger smurf that wipes your entire team out solo, you still get full LP loss for that game, even though the game was entirely stacked against you.
Now imagine that the game actually tracked the movements of players you play with/against and adjusted the loss/gains you get based on the future performance of those players. If you get wiped by a challenger smurf, but he goes on to hit diamond in two days, you might get some of your lost LP back due to the system detecting an excessively bad match-up as having occurred. The same could happen with the Wood 5 promo guy.
There's no realistic way for the system to 'grade' a player based on in-game behavior, however, if a method could be put in place to lessen the sting of bad match-ups, or to even provide a bonus for teams who make a heroic effort to overcome impossible odds, it would help restore a lot of player faith in their ranked games.