How can I navigate the viewport using Python?
I would suggest not to call operators at all, these are rather cumbersome way to interact with the view, Instead manipulate the view directly.

If you write an operator you can access the viewport like this...

v3d = context.space_data
rv3d = v3d.region_3d
rv3d.view_location.x += 1.0


You may also want to treat the view as a 4x4 matrix since in some cases this is more convenient since you can multiply it with other matrices to combine transformations, accessible from the view_matrix.

See RegionView3D API docs

To get started you may want to try things out in the python console...

For this you need to specify the absolute path to the 3D region.

In the Scripting screen layout you can run this from the console or editor...

rv3d = bpy.context.screen.areas[2].spaces[0].region_3d
rv3d.view_rotation.rotate(Euler((0, 0, 0.1)))
rv3d.view_location.x += 1.0
rv3d.view_distance -= 1.0


We have a template of an operator that edits the view in the text editor Operator Modal View3D