Describing the person as inconsistent might be one option.
Since most people will agree that being a hypocrite is a bad thing, I believe that a "softer" word that means the same thing will still be offensive. I suggest that a softening of meaning is required, and perhaps some obfuscation.
Responding to comments:
I argue that inconsistent it is not "essentially synonymous" with hypocrite which dictionary.com defines as:
(1) a person who pretends to have virtues, moral or religious beliefs,
principles, etc., that he or she does not actually possess, especially
a person whose actions belie stated beliefs.
To declare someone a hypocrite is therefore to pass judgement on one's motives and character. On the other hand, none of us are entirely consistent unless we have ceased to be. Calling to attention divergence between past statements and present action does not inherently pass judgement, though it implicitly calls for explanation. Changed beliefs, failure of will, obliviousness, etc., are plausible. Depending on his response (verbal and otherwise), no further confrontation may be required.
On the other hand, I believe the meaning is sufficiently clear because one fairly obvious explanation for inconsistency is hypocrisy, especially in context. Further I believe that an actual hypocrite will infer this meaning quite clearly unless he is self deluded.