Center cursor in python script?
Every operator requires a proper context to run in. Since you mentioned that you are running the script in batch mode and accessing a view3d operator, you must provide the exact context to the operator

import bpy
# in this case the area at index 4 happens to be view3d
view3d = bpy.context.screen.areas[4]
context_override = {'window': bpy.context.window, 
                    'screen': bpy.context.screen, 
                    'area' : view3d}
bpy.ops.view3d.snap_cursor_to_center(context_override)


By doing this, I am able to snap the cursor by running the script from the Python console. Also, you do not need the call to poll() since you are providing the explicit context.

Relevant Links


Overriding Context
Execution Context