Advice on automating clip stabilization and possibily avoiding bpy.ops

I am asking a more specific question on the Blender SO: http://blender.stackexchange.com/questions/74818/add-marker-to-2d-tracking-list-via-clip-stabilize-2d-add-or-other-means

I want to seek broader advice here.

How would you approach 2D stabilization programmatically. I noticed that I should be avoiding bpy.ops but I am not seeing how some calls can be made without it. Example form above being clip.stabilize_2d.add().

After that I assume I would also have to call bpy.ops.clip.track_markers() in order to actually create the tracked path.

Both of these UI elements must be calling to underlying functionality. Is that functionality accessible to scripts? If so what is a way for me to find documentation for it. So far I have only been able to find documentation for these ops calls.

There is also the question of order when it comes to Node Editor and Movie Clip Editor. Stabilization and tracking happens in the Movie Clip Editor. But when doing this manually I need to setup nodes in the Node Editor for “Movie Clip” and “Stabilize 2D” in order to render the result. Does this still remain necessary when working through the steps programmatically?

This seems to mimic the necessities of the interface, which makes it hard to understand connections between functionality and the sequence of steps.

I hope that this isn’t too rambly, and will attempt to clarify if necessary.

Thanks.