I think this is inherently due to Windows registry and no enforced standards for Windows file system. In Linux, packages are generally reviewed to ensure they follow a set of practices to ensure that they use the appropriate directories. Then they simply have to extract the files/folders to install the application, and removing is as simple as deleting those directories/files. In Windows, you really never know what you're going to get when you run an install. You might get 1k registry keys created, and it is near impossible to monitor and replicate. They might install the App in Program Files, or if it is new Appx package it will be somewhere completely different. Some apps may install in AppData. It is completely unpredictable. Running an uninstall may call msiexec, or some other uninstaller.
In order for Windows to have a Linux like package manager, they would have to re-define the install process completely to act like Linux and probably move away from the Windows Registry completely.