Is there a word that describe a person who doesn't "practice what they preach"? Basically, is there a synonym for "hypocrite" that carries less pejorative connotations?
For example, let's say a friend of mine says he is a Christian. Yet he engages in behaviors considered sins by the Bible, making him a hypocrite. And I would like to tell him I think he is a hypocrite.
What would be a good word to use here, so my criticism seems constructive rather than offensive?
I tried using a thesaurus, but the synonyms that came up were even worse (ie: they are more offensive than "hypocrite").
Related (but different) question: http://english.stackexchange.com/questions/6961/alternatives-to-hypocriteAlternatives to "hypocrite", which asks what to call someone who knows they are in the group of people they criticize.