stay in old san juan. dont stay in the major part of the city. go anywhere but there. laras is good, aguadilla, ponce, arecibo, carolina are all good places to go. the observatory is a good tourist attraction as is the window cave.
Do not stray too far off the path...It can definitely get sketchy. Even wandering around old san juan at night is a little sketch... I had a blast when I was there though for sure. Some hotels have the day trip like the snorkeling trip...you go out on a catamaran and its a catered lunch and bar- snorkel at 2 locations. Very cool, and very relaxing. El Yunque is beautiful as well, it's the jungle tour with waterfalls. We rented a car and drove out that way. Be careful, because driving is nuts! But bring a map/gps with you. There is a breakfast place I believe its the panaderia or something along those lines right in old san juan thats know for these things called Mallorcas. It's a pastry type thing- friggin amazing! And go to FATTY's! its on a street near el morro. It's a diamond in the rough. Legit a lady's house (fatty) that cooks from her kitchen. The food is RIDIC!! mmmm
I spent one pre-day cruise day and post day after coming back. I enjoyed old San Juan and the beaches near buy. I loved walking around the old fort and the architecture and some good food around the pastries shops or cafe's. And of course some hot Boriquas, other than be beware of high pricey taxi's that can smell a tourist away and want to rip you off.
I would not stay in Old San Juan - definitely check it out - it's really cute - lots of restaurants and shopping, but really touristy. Stay in Condado or Ocean Park. There are a bunch of gay friendly inns and resorts. The bigger ones are La Concha and The Water Club. They are not exclusively gay, but always had a lot of gay people there whenever I went. They are a quick cab ride to the gay bars or the gay beach. There are many really nice small hotels/B & B's in Ocean Park. Numero Uno is my favorite - right on the beach. The Atlantic Beach Hotel is sort of a dive, has a tea dance in the afternoon. Good luck - I always have have a fantastic time.