The method that I use is fairly simple -
a) Do I know this person myself? If so, it’s almost a certainty that I’ll add them.
b) Do I know of them? Again, if the answer is yes, they’ll get added.
c) If I don’t know them, what does their profile say? Everyone can add a small profile piece about themselves. If the profile is blank or not informative, they tend not to get added.
d) How many tweets on the first page of their profile are useful to me? If I start looking, reading and clicking almost instantly, they’ll get added. If not, it’s unlikely that I’ll add them.
e) Are most of their tweets replies to other people? If so, and if I don’t know the people they’re replying to it’s a waste of my time to read their stuff.
f) Are their tweets written in a language I can understand? That means, if it’s not English, I don’t follow them.
g) Are they using the service to blatently promote their services or blog? If there’s a bunch of ‘oh, please vote for me, or digg my post’ it’s an instant turn off.
h) Do they have a profile picture? This is a very minor point, but if there’s no profile picture it’s a slight nudge towards the no-follow group, but not crucial.
I’ve had some weird spam-like follower messages of late as well. Phil’s suggestions are spot on for determining who to add to your network/stream.