On most platforms Firefox's settings directory (where it stores the profiles and some other bits and pieces) is essentially fixed, just being chosen based on the OS settings. I think it would be worth considering whether to make it possible to override this from the command line or environment. The chief use-case is testing. Even though tests are started with a custom profile the profiles and other data is still loaded and can be modified by tests.
We have tests in tree that intentionally make changes to the profiles (https://searchfox.org/mozilla-central/source/browser/components/migration/tests/marionette/test_refresh_firefox.py being a good example). If something goes wrong during the test it can mean a user's profile list will have been modified which breaks the rule that tests should not affect anything outside of the test environment.