I used to "witness" by debating. That is, I thought if I could win arguments with people and prove that they were wrong, they would see things my way... Sometimes they were literal debates. Like, formal debates with judges and such. Well, even if I technically "won" a debate, I still had a 0% success rate in convincing anyone. Alternatively, if I technically "lost" a debate, I wouldn't be convinced by the other side... The missing piece was that they still had no reason to seek Christ, because I had not been a good reflection of Christ to them.
I'm currently speaking with a guy who actually refers to himself as "The Antichrist," and he's one of the easiest people to talk with about Christ that I've ever met. When I first met him, I told him I was willing to bet he wasn't anti-Christ at all, he just didn't know Christ that well yet. He really liked that, and he told me he uses the name as a sort of a filter, to identify people who will only ever judge him. So what seemed at first to be something "evil," it turned out to be a defense mechanism for someone who was deeply hurting to protect themselves from more hurt. Just because I gave him a little of my time to really listen, now he is very interested to hear about who Christ is! Bottom line is, if you want the chance to witness to someone, care about them.