Directness is best, I find. Not put in an absurd, freak-out-your-friend way of course: there is a big difference between saying "Hey, just so you know, I think you're really hot, and if you ever wanted to persue a relationship with me, I'd be totally down. Or we can just be friends.

" and "I have to be honest with you, I dream about having your children and my mother would love you." One is honest but light and leaves things easy-going, and the other is scary. Hopefully the difference is clear LOL!
My take would be (and has been, for friendships and more), if the person cannot handle my being honest, then I really don't want to have a close relationship with them, you know?