You have made a good choice to fly in earlier. Take my example:
I was flying in to San Juan last Saturday (the 15th) for my cruise leaving on Sunday the 16th. My flight out of Gulfport left an hour late due to a "Maintenance delay" that was stated would be no longer than 30 minutes. I then missed my connecting flight in Charlotte by literally seconds. The airline then booked us on the next open flight, which unfortunately, was eight and a half hours later! We then ended up taking a different flight to St. Thomas and then a connecting flight to San Juan. We finally arrived in San Juan about 7:20 in the evening and would have completely missed the ship if we had flown in on the day of our cruise. Also, the airline had misplaced our luggage and we spent the next hour trying to track it down. We arrived at La Concha (our hotel) at 9:00pm and it was really too late to do much of anything, although we did eat a great meal at the Italian restaurant in the San Juan Marriott.
The moral of the story: Never fly in on the day of your cruise unless you absolutely have to, especially to San Juan.