If we will recall that the opam repository is actually a Git repository, then even “entirely removed” package could be always installed by a determined user. Therefore, the impact of the removal is not that severe.
On the other hand, at some point of time those packages were definitely installable, so instead of removing it, a proper constraining might help (even if it is an overconstraint).
Finally, with these taken into account, it is better to remove a totally broken package, than keep it polluting the opam universe. However, I think that it should be a responsibility (totally automated1) of an opam-repository administrators to prune the old packages, after issuing several warnings.
1) However, in general it is hard to automatically decide whether a package is installable, i.e., whether exists a configuration in which package is buildable, especially in the presence of system dependencies. And many packages are merged into the opam repository without passing CI, for example BAP never passed opam-repository’s CI, for various reasons, but definitely not because it is not installable.