The best thing to do with these critical non-believers is to agree with them and say that yes, christians are not perfect but Christ is. Say that we're saved by grace, freely admit we need to be more like our blessed Lord.
That's true. And sometimes, we as Christians aren't really the witnesses that we should be, and engage in various arguments about what Bible translations to read or not to read, what music styles are holy or unholy, and other opinions and convictions that vary among believers. And there stands the unbeliever, wondering why the Christians have to fight so much over the littlest things, like what colors the church carpet should be, which teaching curriculums are better for the Sunday School classes, and so on. Some issues are fine to debate about within reason, but when they get out of hand, they cease to be debates.
Also, there's the matter of leading by example. It's fine if we want to talk the talk -- but we should be making sure we're walking the walk, as well.
Believe me, I know I'm not perfect, and know I have many things to work on, myself. That's why I like to be careful as possible, while trying to be a witness, not to be too judgmental, but speak the truth in love. Then trust that God will do the work as He sees fit, after we've done our best to plant the seed, and speak out for what is pure and against what is impure.
(And for those who may not understand exactly what I'm getting at: I am
not, in any way, shape, or form, excusing lukewarmness. I'm just saying that there matters that are truly Biblical, while there are others that are a matter of opinion, such as what I mentioned in my first paragraph.)
Hope this makes sense.
God bless.