The main hurdle is that (without rooting) there doesn't seem to be a way for alternative app stores to silently update software.
Does this actually matter? On the desktop it's normal for apps to update themselves. Is there some fundamental reason an Android app cannot do this too?
Yes. The application's executable is not writeable to the app. You need to go through the package installer. This requires a system controlled prompt for the user to confirm an installation, and requires a seperate permission to even ask which is not allowed for third party apps published to the play store (https://developer.android.com/reference/android/Manifest.per...).
Er, not quite. The permission required to trigger the app install prompt for an APK is REQUEST_INSTALL_PACKAGES, which is available to third-party apps.