My solution on macOS is an AppleScript with the usual Firefox name and icon, installed in the usual location, which runs a shell script with the proper args to pop the profile manager in a new session (`-ProfileManager -no-remote`).
The real Firefox binary is buried in a nondiscoverable location (`$HOME/Applications/.Firefox`) so that it doesn't get launched directly.
...but after getting around to making that work seamlessly, many forgotten years ago...Firefox profiles really have been great. :)
Firefox's new Containers aren't perfect, but I'm giving them a go and since they're in testing still I can submit feedback to influence their direction.
macOS (and OS X before it) is more work. The Finder will switch to the running instance if there is one, instead of launching a new one each time you click. I worked around that with an AppleScript (for the icon and double-clickability) that calls a shell script with the proper args.
It sounds sketchy when I describe it, and is clearly not an obvious option for most people, but it has worked perfectly and invisibly for years.
Unfortunately the UI has always been sort of hidden.
You can launch with `-P` or `-ProfileManager` to get a profile selection menu. Or nav to `about:profiles` for a slightly more convenient (but less attractive) version.
Firefox profiles are great. Better than Chrome profiles, though less convenient, for now. Interested to see how Containers fits in.