Camera flips 180 degress when moving around object
Locked Track

You should use Locked Track Constraint instead of Track To Constraint .

As stated in the manual's page:


  Basically, it is a Track To constraint, but with a locked axis, i.e. an axis that cannot rotate (change its orientation).


While the for the Track To it is said:


  ... it always points a given “To” axis towards its target, with another “Up” axis permanently maintained as much aligned with the global Z axis (by default) as possible.


That said, using this kind of constraint will allow you to avoid the flipping of the camera. Here's an example of usage: