Lots of threads in the road forum about this if you like to read whining about it.
I give people a wide berth and don't say anything until I'm next to them, and then I say hello. I pass at the centerline of the road. It's much less complicated and they don't have a chance to swerve into me. It's also the way I would want to be passed by any other vehicle that I can think of. Been doing that for 20 years without any problems, and lots of other experienced cyclists do the same thing. If you warn people without mirrors, they will swerve when they look at you. Very few people practice looking over their shoulder, and if you don't practice, you swerve. If the person has a mirror, they've seen you and there is no reason to warn. If they have an ipod, a warning will do no good.