As Nuget Package Manager already knows that there is a v2 and it fails
finding anywhere v1, my question is: There is not an automated way to
make this work?
In fact, there is no such automatic function to uninstall a non-existent nuget package by VS IDE. You should manually delete the nuget xml elements.
And when you uninstall or update a package, VS IDE will check whether the current version of nuget exists on the current machine or in the nuget package source. That is, VS IDE will do a restore extra operation when you uninstall or update the nuget package. That is the default operation.
For an example, when I uninstall a package that is not exists under local cache and package source, the error will occur:

And it will suggest that we should do a restore.
---------------
If you want to update or uninstall a package that does not exist, you have to delete the contents of the package manually and you have no choice:
1) delete the package content in packages.config file(if you use packages.config nuget management format) like this:
<package id="Microsoft.Data.OData" version="5.8.4" targetFramework="net462" />
2) delete like these node in xxx.csproj file:
<Reference Include="Microsoft.Data.OData, Version=5.8.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Data.OData.5.8.4\lib\net40\Microsoft.Data.OData.dll</HintPath>
</Reference>
3) then install the new version of the package.
However, I think VS should take this issue seriously, and I am interested in your opinion. This seems like a bug in your current situation, and the restore operation is redundant. Therefore, when uninstalling a package, you should not have to check whether the package exists. Just uninstall or install what you want.
So I suggest you could suggest this feature on our User Voice Forum and the Team will seriously consider your idea and give you a satisfactory feedback.
xxx.projfile. Otherwise, you should suggest a feature to the VS Team as I provided.