Calling an addon's Operator from Python - wm_operator_invoke: invalid operator call
To use the plugin in the way intended, execute() needs to be used instead of invoke(). The execute method can still use the invoke code by calling it with an event of None:

class MyAddonOperator(bpy.types.Operator):
    bl_idname = "object.myaddonoperator"
    bl_label = "My Addon"
    bl_options = {'REGISTER'}

    @classmethod
    def poll(self, context):
        return context.mode == 'OBJECT'

    def execute(self, context):
        return self.invoke(context, None)    

    def invoke(self, context, event):
        do_stuff()

        return {'FINISHED'}


Now the addon can be called with bpy.ops.object.myaddonoperator('EXEC_DEFAULT')