Rather than just toss out the word "hypocrite," would it not be better to point out exactly where the presumed hypocrisy lies? And if there really is hypocrisy, this should be trivially easy.
A simple example: your friend says "I care deeply about the environment and the future of this planet," and then throws plastic wrap that held his sandwich into the water beside which you are picnicking.
I am trying to suggest, in other words, don't fling the label "hypocrite" at somebody, but instead make the hypocrisy itself as clear and obvious as possible.
(By the way, it probably still won't work. We humans are very good at being completely unaware of our own cognitive dissonance.)