Homebrew (plus brew outdated) covered CLI tools and a subset of apps. For GUI apps, we relied on Sparkle-based self-updaters where available and a small script that checks bundle versions against a curated list for the rest.
It’s more manual than MacUpdater, but the upside is you control what’s checked and when. In practice, most actively maintained apps do self-update now, so the remaining pain tends to be niche or enterprise software rather than mainstream apps.
Unfortunately, Latest supports much fewer apps - maybe those that self-update?