https://wiki.debian.org/DebianUnstable#What_are_some_best_pr...
apt-listbugs is really the main one for me.
When I upgrade, I pay close attention to the package change lists. If packages are set to be removed, especially a lot of important looking packages, I cancel the upgrade and investigate. Usually this means that something has gone wonky with dependencies, or not all of the packages that need to be upgraded in lock-step are available yet. Usually this resolves itself after a few days, but sometimes you can coax a partial upgrade if you find the culprit package and hold it.
Speaking of holding, apt-mark hold/unhold (or equivalent - I think there might be a better way to do this now) is your friend. I usually end up holding packages like the ones mentioned above that erroneously want to remove half the system, as well as any packages that apt-listbugs complains about, unless I've reviewed the bug report and am okay with it. I'll periodically unhold everything (apt-mark showhold | xargs sudo apt-mark unhold), then retry an upgrade to see which bugs or dependencies have been fixed, and then hold any remaining offenders again. Usually this will end up "releasing" package upgrades in chunks depending on the dependency graph.
Apt should probably be louder when big parts of the system get marked for removal. I think this the primary way testing/unstable systems end up breaking, and it's completely avoidable.