The Sheraton Old San Juan is nice and reasonable. It is also very close to the pier. Depending on where the ship is docked you could literally be right across the street from the ship. If the ship is docked at the other pier it is just a 5 minute ride there. Both piers are very close to that hotel. Hope this helps.
I have to agree with the Sheridan in Old San Juan, great location and if you have time, you can walk/shop in Old San Juan. There are also 2 forts you can visit if time permitting. The Hotel also has a rooftop pool, great place to watch the pier and see ships coming in and going out.