I realized a while ago that I only have two major criteria for friends: that they be nice and interesting. And if they can't be interesting, they can at least be nice.
I know this is condescending, but I've had some good friends who are not very "interesting" at least as far as being intellectually stimulating or whatever. But they are lovely people who have their friends' best interests at heart. To me this is the main thing. If you have nice and interesting together, that's just awesome. And I have had a few of those.
If someone is only interesting, and not nice - you should probably (at most) keep it on the level of acquaintanceship. You'll get hurt ultimately if you try to be friends with them, no matter how interesting they are.
EDIT: In typology terms, best friends have included a few INFJs and at least one ISFJ. They are all both nice and interesting.
Most of my good friends over the years have probably been NFs and SJs. I'm generalizing very broadly here, but a few NTs that I tried to be friends with seemed mainly interested in people as intellectual playthings - and with those I can think of who are definitely SPs, either both I and them haven't been interested in taking it past acquaintanceship, or I've ended up hurt by selfish and inconsiderate behaviour. But despite how that may sound, I hope I'm still open to friendship with possible NTs or SPs! First and foremost you should just take people as people. There are both great people, and jerks, in all types.