i just had a great idea that is obvious in retrospect. For our non-app store mac apps, put the uninstaller in the app bundle. it pairs it with the app version and you always know where it is.
i don’t use drag installs or zipped apps any longer because it confuses customers and they end up with multiple copies or alias in the dock to apps in disk images.