ImportError for module installed in scripts/addons/modules
You can convert your single file based addon into to a module by creating a folder with the name of the intended module, ie six and renaming six.py to __init__.py. This folder will be now recognised as a python module and loaded as an add-on because of the bl_info in the __init__.py. 

With this setup, you can use it to store and segregate your add-on dependencies from other addons that you have installed. 
This also has the added benefit of keeping things as you manage the contents of this folder and should not rely/assume other dependencies exist. 

Generally you will want to use ..\scripts\addons\ folder as the root directory for your add-on as the ..\scripts\addons\modules folder can be used to install shared dependencies by authors of modules, which you allured to could have conflicting versions. Also this folder may not exist if you have some custom install scripts and you will have to ensure its created. 

If you have the above setup then all you need to do is zip up the folder and it should be installable via Blender's addon installer.

Edit:
Didn't realise six.py was your dependancy. In which case the above will work for your main addon. Assuming that you have your dependency stored in a modules folder the following sample code will add it to the sys path.

# Python dependencies are bundled inside the io_scene_nif/modules folder
_modules_path = os.path.join(os.path.dirname(__file__), "modules")
if not _modules_path in sys.path:
    sys.path.append(_modules_path)
del _modules_path