There are a number of reasons that managed solution files cannot be uninstalled. CRM should automatically resolve those and allow for a managed solution file to be removed from the system, with a warning that it will make adjustments to the configuration. The current behavior is that CRM will refuse to uninstall the managed solution file until the user manually removes each and every dependency on it. This is usually too difficult for end users and is very cumbersome. Most users don't even know how to do this. The source of the problem is that users may touch their CRM configuration and these actions may make unintentional dependencies in the unmanaged layers of their CRM. Managed solutions should just uninstall. If there are still fields on a form or view, or in the sitemap or ribbon, CRM should be smart enough to either just remove those dependencies, or operate properly with the missing dependencies.
We are addressing these issues release over release, when you encounter specific issues that cannot be resolved using establish system, please do continue to report them to support so that be may address the particular issue.