**Set it once in the addons User Preferences.**

Suggest using a property in  [addon preferences][1]  The user chooses the folder.  I had deleted this answer, as it is not "automatic", however setting a storage location once,  is IMO, not a huge overhead.

Modify the script in link with a folder property

    class ExampleAddonPreferences(AddonPreferences):
        # this must match the addon name, use '__package__'
        # when defining this in a submodule of a python package.
        bl_idname = __name__

        assets_folder = StringProperty(
                name="Assets Folder",
                subtype='DIR_PATH',
                )

        def draw(self, context):
            layout = self.layout
            layout.label(text="This is a preferences view for our addon")
            layout.prop(self, "assets_folder")


[![enter image description here][2]][2]

And then when you need to access it

        user_preferences = context.user_preferences
        addon_prefs = user_preferences.addons[__name__].preferences

        assets_folder = addon_prefs.assets_folder


  [1]: https://www.blender.org/api/current/bpy.types.AddonPreferences.html
  [2]: https://i.sstatic.net/bzv83.png