5 of 8 added 446 characters in body

What is a less offensive synonym for “hypocrite”?

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?