This keeps getting raised as an issue, e.g. #1392, #1607.
Ideally a custom command-line parsing implementation would use a comparable syntax to the C++ binaries, with the same capabilities (and possibly also remove some capabilities of argparse that are technically ambiguous according to the MRtrix3 command-line option ordering philosophy), with corresponding re-implementation of the help page / documentation generation, and would also require some kind of implementation that would satisfy what is currently achieved using Subparsers within argparse and the algorithm module.