The best hotel might depend on what you want to do and if it is before or after the cruise.
We stayed close to the airport for the night before our cruise and were glad that we did. We stayed at the Intercontinental and it was the first stop the taxi/van made. The traffic into "Old San Juan" would have made the trip a lot longer. We were right on the beach and were able to really relax before we left. Because of where the RC dock is, there really isn't a close hotel except the convention center (I think). You are going to have a taxi ride no matter what, so decide what you want to do and stay close to that. The taxis work on a zone system with flat rates between zones. There are maps online that show the zones and the rates. We were staying for 4 days after our cruise, so we were not in a hurry to see things on the day before. Once we came back we stayed in a little hotel right in the center of Old San Juan and were able to walk to everything "touristy".
Even if you are not staying at the Sheraton right near the pier for visiting ships, you can still take advantage of their tour desk and purchase guided tours to the rainforest and other places. The ferry to the other side of the bay and the Bacardi Plant leaves from right across the street from the Sheraton. Everyone seems to speak highly about the Sheraton, but when we were going (January) they were enforcing a 2 night minimum, so it didn't work out for just the night before. I am not sure if that is a seasonal thing, or on Fri/Sat to catch the cruisers coming into town for the Sunday sailings. We were on the Adventurer if you have any questions.