If you are choosing to stay near SJU/Old San Juan (with bus access) there are a few family-friendly small inns on the beach.
www.trespalmasinn.com nice place/people--they will address possible discount if not pre-cruise. across from water/beach with skinny road between--rooftop jacuzzis

I liked www.numero1guesthouse.com aka numero uno on the beach parador--a bit pricey sometimes...

If you're interested in cool place--Vieques is the hot island off to the east of PR--used to be primarily US Naval base( remember the news stories about "bombing" the beaches??) It has changed dramatically--still slightly remote, but that can be very good!!

I agree w/Chris about getting away form SJU unless you have short stay. Local buses are very friendly way to get around, too.