If you think autoremove is removing things you want to keep, for each package you should:
- use
dpkg -l | grep $shortpackagename
to check if there is a newer version also installed, in which case it is ok to remove the older one
- use
apt rdepends $packagename
to see if there is a parent package that you also want. If there is, install that parent package or a reverse dependency of that parent
- If there is no (obvious) parent dependency package you want to keep, but you still want to keep it,
apt install $packagename
so it doesn't get uninstalled by autoremove.
A good example of the above (as mentioned in comments), if autoremove wants to remove xorg
then install ubuntu-desktop
and you will probably find that many of the autoremoves will now have a parent dependency installed and the list will get shorter.
Once the list is short enough that what is left is either obsolete packages or things you are sure you don't care about, then autoremove is safe.
This situation is not normal, it doesn't happen automatically, It is caused by, at some point, something critical being removed from the system that causes some important parent package (like ubuntu-desktop) to be removed.