I agree that merging all commits into a single ones does more harm than good. Personally, what I like to do before publishing any commit history is to interactively rebase it to squash together things such as trivial corrections to commits, essentially to avoid noise. A good example of that is a commit that tries to implement something, then a commit that does something else, and finally a commit the adds something that I forgot in the first one: that third one I would squash into the first one.
Rebase