Yes. Never do that and avoid it at all costs.
I think the only way to do that would be if ReSaver was scriptable. And even then, I'm not sure.
The problem is the workshop array. It is a regular Papyrus array of the script attached to the WorkshopParentQuest. That array holds all settlement workshops (that is, their RefIDs). The index at which a workshop is in that array is the WorkshopID.
There is also a second array in there, which holds the corresponding Location records
Now, if you uninstall a settlement mod, it's entry in the WorkshopArray will become invalid and effectively null (I'm not 100% sure that papyrus turns invalid IDs to null, but I strongly suspect it).
That will cause problems, because WorkshopParent and other scripts will go through that array, with the assumption that all of it's entries are valid.
It can cause even more problems, because some objects (Anything with a WorkshopObject script, but potentially more) also have their WorkshopID stored in an integer variable. They will sometimes try to get their parent workshop using that ID. But this isn't as bad as the point before.
And there might be even more places which use the WorkshopID which I don't know about...
IN THEORY, if the settlement you want to remove is the very last entry of that array, you could just remove that entry from the array, shortening it by 1. Objects which reference it might still do weird stuff and break, but it shouldn't be too bad.
But, if the settlement in question is somewhere in the middle, I don't even know what to do.
Take the last settlement, and move it into the gap? That might work, but, I'm not sure you could properly recognize everything which could be updated.
Mhh, maybe something could be done. Make a mod which has, like, 10 cells, each with a workshop and a location, and guaranteed without anything else. Then, just use these to fill the gaps.
But I still don't know how well that would work, or how safe it would be to do this...