Have you tried Eat[0]? It's a reasonably fast terminal emulator that integrates with Eshell so that all commands run in Eshell have full terminal emulation (but they're still run in the original Eshell buffer, which makes it better than `eshell-visual-commands'). I haven't had any terminal emulation problems since switching to it.
[0]: https://codeberg.org/akib/emacs-eat
With regards to completion, I use corfu, which gives me nice inline popups. I use the bash-completion package, so I don't have issues with programs that don't provide Eshell completions (which are basically all of them).
This is extremely helpful. I have never considered the possibility that there could be a better method to deal with emulation than visual commands.
You have no idea how much this helps me.