So here's my take on this:
--ini-path should point to a directory where the game will look for configuration files of the system / global scope. This is glest.ini, glestkeys.ini etc.
glest.ini defines where to look for configuration files of the user / local scope, as configured in UserData_Root.
As such, you can do the following to run one installation with multiple configurations:
Instance 1:
Run megaglest with --ini-path=$HOME/megaglest-1-system
In $HOME/megaglest-ini-1 you store a modified copy of glest.ini, with UserData_Root=$HOME/megaglest-1-user
You also store copies of the other .ini files whose file name do not contain "user" in this directory.
In $HOME/megaglest-1-user you store glestuser.ini - configured to match your needs for this instance.
You (optionally) also store copies of the other .ini files whose file name does contain "user" in this directory.
Instance 2:
Run megaglest with --ini-path=$HOME/megaglest-2-system
In $HOME/megaglest-ini-2 you store a modified copy of glest.ini, with UserData_Root=$HOME/megaglest-2-user
You also store copies of the other .ini files whose file name do not contain "user" in this directory.
In $HOME/megaglest-2-user you store glestuser.ini - configured to match your needs for this instance.
You (optionally) also store copies of the other .ini files whose file name does contain "user" in this directory.
...