Fakarava is hands down my favorite diving so far (over Palau, Sipadan, Philippines, and various Caribbean destinations).
I would not recommend Top Dive. Shorter dives, larger dive groups. Our friends who dove with them also reported some sketchy experiences (beginners being put on nitrox without cert and allowed to go deeper than they should, etc.).
I recommend staying part of the time in the north, and also a few days in the south. South pass is the best diving and while the dive centres in the north will take you there it is an hour and a half to two-hour boat ride each way, and the best diving is definitely in south pass (the north is also spectacular, however).
In the north pass, I highly recommend diving with Serge & Karen at Fakarava Diving Centre(http://www.fakarava-diving-center.com/eng/atoll.htm). Make sure you book with them well in advance though, as they only take 4 divers each day (the web site says they will take 6, but in reality, this is an exception as they normally don't; we had 2-4 on all our dives). They are a Swiss couple that sailed the world on a sailboat that Serge built, diving just about everywhere, and finally settled on Fakarava as the spot to stay and open their shop. They are wonderful people with great stories of their travels, and run a professional and safe dive operation. Karen drives the boat, and Serge leads the dives (he has over 5000 dives in Fakarava, so you could say he knows the area).
I also recommend spending a few days at Tetamanu village in South Pass...it is literally on the pass and your dives end by walking onto the beach at the resort. A word of warning that the owner's wife is a bit bipolar -- while exceedingly nice to guests, she would often flip out on staff...our (excellent) dive guide has fired and re-hired at least twice in our three days there. However, the diving makes it more than worth it.
Here is a short video from my diving in Fakarava, if interested:
Also, in the north, we stayed at Haiviki Pearl Resort and really liked it. I'd recommend asking for one of the new bungalows near the garden in back instead of one of the older ones on the beach (although when we were there, new bungalows were being built on the beach, and those might be best if complete).