As a diver I'd definitely recommend the three days in Cairns option. If you're into big fish (realllllly big) then the "Cod Hole" is a great dive.
There are also fringing reefs around the islands close to Cairns that are great for Coral. Green Island makes a great day trip from Cairns but it is very "touristy".
For the best diving I suggest taking a trip to the outer Barrier Reef. On a typical 2 day/1 night trip you can get in 5/6 dives including a night dive which is just awesome on the reef. If you decide to go this way - let me know if you need advice on opertors or itins.