Getting the 0,0,0 point in the middle of the cameras view
Although the Track To constraint will always put the origin in the middle of the camera view, they will change the rotation of the camera, as it will stay fixed in place.

To keep the rotation we have to find a new location for the camera, presumably only moving within the camera's xy-plane, where it's viewing direction (the camera's z-axis) goes through the origin. This is a simple line-plane intersection problem:
Where is the intersection of the line l that goes through point l_0 (0,0,0) and the current xy camera plane, defined by normal vector n and point p_0?
l and n are the camera's z-vector, and p_0 is the camera's location.

import bpy
from mathutils import Vector

# get camera object
camera = bpy.context.blend_data.objects["Camera"]
# get camera viewing vector, which is also the normal vector of the
# camera's xy plane
cmat = camera.matrix_world
camera_z = Vector([cmat[i][2] for i in range(3)])

# this is the new center of the camera view
l_0 = Vector((0,0,0))
l = camera_z
n = camera_z
p_0 = camera.location

new_loc = (p_0 - l_0).dot(n)/l.dot(n) * l + l_0

camera.location = new_loc