A short while ago, I saw a blog post from someone about modernizing their shell. Unfortunately, I lost the blog post, but there was some really good stuff in there. Just mentioning this in case someone knows what I’m talking about.
One tweak I remember they mentioned was about fixing programs that have broken formatting. It prevents scenarios like
user@hostname:~$ echo "hi"
hiuser@hostname:-~$
where the output and shell prompt get placed on the same line. I noticed this happens with bash with C programs that don’t include a \n in the final printf statement.
Seconding fish shell. Very nice experience and the only real downside (or upside depending on perspective) is the non-POSIX syntax for some things.