I suggest some of the following setopt's:
APPEND_HISTORY AUTO_CD HIST_IGNORE_SPACE HIST_IGNORE_DUPS HIST_NO_STORE
AUTO_CD is nice because you can just straight-up type a directory and it'll go there (i.e. .. or tilde).
HIST_IGNORE_SPACE and HIST_NO_STORE work out nicely when you want commands not to show up, i.e. stuff where maybe your password is inline, or you're handling something sensitive.
HIST_IGNORE_DUPS just saves space. HIST_IGNORE_ALL_DUPS even more so.
I think akkartik is responding to willlll (who posted "use zsh, problem solved"), not to silverstorm (who posted "zsh does a terrible job at keeping bash history in sync.").