Is there any way to completely block anyone or anything from detecting an app that is installed on any Android device? Not from physically looking through someone's device but from google or any outside program or company scanning a device?
On a stock Android OS from a major vendor it's very unlikely that there will be a function which allows hiding an app completely. Since Android is open source though there's always the possibility someone creates a version with a kernel mod that allows the user to specify certain apps should be hidden and not listed.
One naive way of hiding an app is to use a third party launcher which doesn't list the app on the launcher. This doesn't fully hide the app though as it would be visible in the list of installed apps. One such example would be the Nova Launcher.
There are apps called "lockers" which attempt to disable or hide apps until they are unlocked. There are many of these apps and some may be more successful than others, especially if they require a rooted device. Some third party Android firmwares such as Lineage OS have this option built in by default.
There's another app I ran into that claims to copy a target app I to itself and run in a sandbox like mode. This would make it appear as if the app being protected wasn't installed.
Note: I am not recommending any of these apps, I'm simply including their names as examples of their type of solution that is available.