How do I center the view at the origin without moving the 3D cursor?
You can use Alt+F to centre the view to your mouse pointer.

The exact behaviour you requested can be achieved with a little Python. Run the following in the text editor and add a view3d.view_center_origin key-binding of your choosing.

import bpy

class VIEW3D_OT_View_Center_Origin(bpy.types.Operator):
    bl_idname = "view3d.view_center_origin"
    bl_label = "Center view to origin"

    def invoke(self, context, event):
        v3d = context.space_data
        if v3d.type == "VIEW_3D":
            rv3d = v3d.region_3d
            current_cloc = v3d.cursor_location.xyz
            v3d.cursor_location = (0, 0, 0)
            bpy.ops.view3d.view_center_cursor()
            v3d.cursor_location = current_cloc
        return {'FINISHED'}

if __name__ == "__main__":
    bpy.utils.register_class(VIEW3D_OT_View_Center_Origin)