Megan's is beautiful - I think the taxi was about $12/pp each way plus and admission fee, but I may be wrong there - 2008 was the last time we were there
Carnival does have a snorkeling excursion to Trunk Bay on St. John (I think) if you are more comfortable doing cruise line excursions. If you have not done so already, create an account on the Carnival website, enter your booking number and you can see information on all the excursions on your cruise. You can even book them if you are concerned about something you really want to do filling up.
Carnival encourages the pre-booking so they can do capacity planning. Of course you have to pay at the time of booking as well so they get a couple of bucks early.
All I ask is a tall ship and a star to steer her by; John Masefield
Carnival: Glory 2004, Destiny 2008, Splendor 2009, Freedom 2011, Valor 2012, Dream 2013
Celebrity: Summit 2011
Princess: Ruby 2010, 2014, Caribbean 2013, Coral 2014, Regal 2014, 2016
Sail Windjammer: Mandalay 2017
Star Clippers: Royal Clipper 2015