I would book your own tours. Having done that and used the ship tours, I prefer to book my own. The web is a great resource. I would gog to PADI.com and look for operators affiliated with them or ask at your local dive shop. The nice part about booking your own is you can often find a dive shop that ONLY takes small groups. When you call explain that you are new to diving and will be doing some of your first open water dives. Any good operator will be very helpful and set up dives just right for your skill level.
Ship run dives can get very crowded. The operators they use do not have the luxury of planning the dive to your skill level. They need to plan it to fit their schedule, the ship schedule and they guess an experience level of several open water dives already.
Have fun and good luck.