You read my mind
So yes, if you pass by Loreto, please give us a call ! December is a great month to explore Baja, and if you have time I suggest you drive all the way down! It's one of the greatest roadtrips you can do. It's all about the nature really, and it gets very variated.
The water temp is not gonna be terrible in december, but it starts to cool down by then. Visibility stay really good until November, but I with some luck December would be really enjoyable too, but be aware that the planktonic boom starts around those colder months! Anyway, I do enjoy the dives here even when viz is not so good!
You will start seeing whales coming into the Cortez around that time, and the Pacific side has plenty too.
There are plenty of awesome diving places along Baja, but the main issue is the lack of diving facilities or proffesionals Divewise, the best spots by far, if you ask me, are Loreto and La Paz. Los Cabos has very limited dive sites compared to other locations and it's a very very busy place. On the other side, you can do a day trip to Cabo Pulmo and dive there, but you can also get there form La Paz.
La Paz has great diving and I believe you would be able to see the whaleshark easily around December. The only downside is that boat rides are very very long so expect full day trips, and with the north winds blowing around winter time, that can be a bit unpleasant. La Paz town has a nice, long boardwalk with plenty to do.
Loreto is of course my favorite place. It's a marine reserve with 3 main islands and several islets. Divesites tend to be very variated and boat rides way shorter. It's also way more sheltered from the wind, but it can be rough too depending on where you go. The town is small, quaint and usually quiet.
Another thing I really like is that the "sierra" (mountain range) is literally 5 minutes away, and there is a lot of hiking and cannyoning to do if you are into that.
As for liveabords, most of them depart from San Jose del Cabo.
Hope that helps, let me know or PM me if you need more first hand info!