I'm also a big fan of giving books as presents. Yes, they're generally heavy and you can't guarantee that the person will like/not have read a particular book, but I can't think of a gift that is more personal. Personal, you say? Really? Yes, really.
I never give books that I haven't read. I only give books I've loved. By doing so, I'm giving that person something that has moved me, brightened me, inspired me, even shaped me. That book says a lot about me, about who and where I was when I loved that particular story. It is a window into my life and my passions, given in the hopes that it will serve the same service for them as it did for me. It also says a lot about my relationship with that person, because for me a book I've loved is a way to strengthen the bond between me and the friend I'm giving it to. It's me saying, "This book illuminated my life. I want to share that light with you."
There are people from my past who have given me books that have turned into beautiful keepsakes, more treasured than some of my oldest pictures and cards. When I open The Sheltering Sky and Catch-22, I remember the teachers who believed that I was something special. When I flick through Into The Woods and Dandelion Wine, I remember the good friends who love and have loved me. When I look at The Fledgling, Mom feels less far away.
Books own a special kind of magic. They're a great way to tell someone you're glad that they're alive.