Set it once in the addons User Preferences.
Suggest using a property in addon preferences 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")
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