I wholeheartedly second the idea of getting out and volunteering. Go find something you want to do (save puppies, clean beaches, build parks, whatever floats your boat) and -do- it. It'll help you feel better about yourself (it's hard to feel like you're a valuable person with people always treating you like crap), and yes, you might meet some people whom you can get on with.
The other suggestion, is to try not to be so trusting. Keep yourself closed up a little, and make them earn you. If you give them everything you've got right off the bat, they're probably not gonna stick around long enough to develop a good friendship with you and come to value you as a person. You're clearly a very valuable and useful friend to have, so make sure they're worth it, make sure they deserve someone like you.