Your characterizations are spot on. One major potential improvement for the shell_completion crate is to provide a higher level API for use by completion script writers. This will of course make writing completion scripts easier, but it will also allow for abstraction over various shells.
Thank you for the detailed feedback.