How to set blender default properties in addons? For example, when the custom addon is loaded, the value of bpy.context.scene.world.use_sky_paper is expected to be True, where its default value is False in blender. 

Setting it in UI (the draw function) will cause an error, while writing an operator to set it will need users to toggle it explicitly. Can I have the behavior that the default value is True when blender is first opened. 
Thanks.
A way of automate it could be to use an Application Handler, I think one of the scene update handlers would be the best fit. As you only want to alter the value once I would have the handler remove itself once it has done it's task.

As batFinger pointed out, it would also be useful to setup a persistent handler that will set the value when another file is loaded.

bl_info = {"name": "Set property", "version": (1, 0), "location": "blender",
    "description": "Test a way of setting a default property.",
    "warning": "Only testing", "category": "Test",
    }

import bpy
from bpy.app.handlers import persistent

@persistent
def setIt(scene):
    scene.world.use_sky_paper = True
    bpy.app.handlers.scene_update_pre.remove(setIt)

def register():
    bpy.app.handlers.scene_update_pre.append(setIt)
    bpy.app.handlers.load_post.append(setIt)

def unregister():
    bpy.app.handlers.load_post.remove(setIt)

if __name__ == "__main__":
    register()