Kenny is an interesting character. People either think he's an ally or scum based on whether they agree with him at a couple critical points. Disagree with him about the direction of the group (gasp, how dare Lee have his own opinion), and he shows his true colors. Agree with him all the time, and it seems like he has your back.
For me, Kenny lost respect in two instances. First, he helps Duck without even a glance at the other guy or trying to come back. That told me he's looking out for his family, and not capable or willing to help others, including Lee or Clem. That was ok, but it made me realize he was no ally. When Kenny refused to help Lee in the barn, I knew that he was a coward, too. Lilly, who just had her father murdered and looted, came out swinging. She's a fighter, and I was sad she snapped. She may not be Lee's friend, but she didn't freeze up when Lee needed her.
I agree that players can't have the same kind of fake friendship with Lilly that they have with Kenny. Lilly is more honest that she's out for hers while Kenny fools Lee.
However, the people who side with Kenny don't see evidence that he's scum, so for those playthroughs, he's a friend. I hope there's a way for people to never have to disagree with Kenny and get betrayed. (Although I don't know how good a friendship is if it's based on always doing what the other person wants.)