Class already registered as subclass (module structure for addon)
You can replace all calls to bpy.utils.register_class(...) by a single call to

bpy.utils.register_module(__name__)


and all calls to bpy.utils.unregister_class(...) by a single

bpy.utils.unregister_module(__name__)


You won't have to (un-)register single classes ever again and your error should no longer occur. Do it in __init__.py only and import all module files from here (from . import ...).

Note that the order of class definitions may matter, e.g. if you use a custom property group class in an operator (the code of the property group class needs to be above the class definition of the operator).

Example addon to show the file structure and imports: blender-addon.zip