> Since recently, package.el doesn't remove old packages anymore.
By any chance, are these packages listed as "External" in your package menu?
> When I
> became aware of that today, my ~/.emacs.d/elpa/ contained a good dozen
> of helm versions for example.
Do these old packages show up as "obsolete" entries in your menu? Look
at the bottom of the menu (that's where obsolete entries go).
-------
Most likely you're getting an error during upgrades and you just don't
see it (or we accidentally hide it).
Check your *Messages* buffer after an upgrade where a package was not
deleted, see if it complained about anything.
(You can test an upgrade right now by keeping one of those old
directories and deleting the proper most recent one).