An alternative that some people opt for is to hotfoot it over to the municipal airstrip at the east of Belize City (by taxi of course) and take one of the hourly flights with either airline (Tropic or Maya) to San Pedro. Then to go out diving on the local stretch of the barrier reef. Should be able to get two dives in, maybe with lunch in between (depends on exact timings) and then have time to get back to the ship. Because the reef is so close to SP the fuel used by dive boats is much less than from Belize City, so even with the airfare included the cost is about the same. Note that, again because the reef is so close, it's customary here to take surface intervals back on land at the dive shop, so even if you miss the first dive it's easy to catch the second. Best to arrange with a SP dive center beforehand so they can try to gear their operations that morning around your arrival, because you probably won't be in time for the usual 9am departures.

But do note the caveats I made in an earlier post. You MUST ensure you're back by the time the cruise ship operator tells you.

As to flying back shortly after diving, it's a personal judgement of course, but the local planes never go higher than 1500ft and if you ask nicely will often stay much lower than that. Do your dives on nitrox and you really have very little to worry about. But of course it remains your risk.