I take care of the people who take care of me. It's not about being a tightwad or anything like that, it's about rewarding quality service and appreciating good personal work done for me. Doesn't matter what they do.
I'm not here to judge if someone has a good job or not, or is making good money or not. If the guy at a restaurant likes his job, is good at it and takes care of me, I'll tip him. I don't look at people and say to myself, "That person should not rely on me to earn a good wage, they need a better job instead of reaching into my pocket". I think that attitude is arrogant in the extreme and terribly offensive. Why not just call him a racial slur and insult the guy properly?
To answer the OP, yes, I tip my barber, and well. About 25%. And a nice Xmas tip, too. My barber has been taking care of me for several years and I'm happy to return the favor.
Where do I draw the line? I draw it when the service is lousy, uncaring and selfish. Simple as that.