I have experienced all that you've described. As my psychic abilities increased I found that when I walked through a mall I would start to pick up little tidbits of information on everyone I passed.
"She's cheating on her husband"
"He is abusing his girlfriend"
"She's struggling with bulimia"
"They're trying to have a baby."
Etc.
I realized I was being bombarded with other people's stuff and their emotions as well. Sometimes these emotions would even stick to me and I would take them home and act on them even though they weren't mine.
Shielding can work, but what works better for me is shrinking my chakras when I'm out in public and don't want to be "working." I bring my chakras in very close to my body so they're not brushing up against people when I'm walking near them. To some, I probably seem very distant and even aloof. That just means its working.
When I actually want to be interacting and open and picking up on the vibes, I just open the chakras back up so they're spinning a foot out from my body. This works well when I'm playing poker.

Poor schlubs don't have a chance!
As for the people who are stealing your energy, you want to avoid them when at all possible. No need to interact with them whatsoever. When it's unavoidable, however, draw your chakras inward, and imagine a mirror in front of you reflecting the energy vampire's drain back on him. Refuse to give him your power. Sometimes when you're doing the empathy thing your openness actually creates an opening for someone to take advantage of you, so watch out for that.