In case it isn't clear this is a user to user support forum. Apple aren't going to read your rant. Use iTunes Feedback.
Perhaps I misunderstood your original post. I read it as saying that the data used be there in iTunes, but isn't any more. To the best of my knowledge iTunes doesn't have any features for independently correcting metadata, but there are occasions when it can reveal changes that have been made externally. As given iTunes works best with mp3 files that have a single ID3v2.3 tag. If you are importing files that have had tags written by other software there may be multiple tags which are not necessarily in sync with each other. Mp3tag is a good tool for tag cleaning. If the you're adding new files into iTunes that are set out in a standard <Artist>\<Album>\## <Name>.<Ext> layout then I have another script called TagFromFilename that can read in details from the path if the tags aren't completed correctly. You need to make sure that iTunes isn't going to copy or rename the files before you add them to the library by turning off the options to Keep... and Copy... if you want to make use of this method.
Each item in your iTunes library has a unique identifier. The aim of the process I outlined above is to access an older version of your database that has the correct information, rename the media folder so that iTunes cannot read the current versions of the metadata stored in the corrupt file, read the old versions of the fields that have been corrupted and write them out to a text file along with the unique ID of each track. After this you reconnect to the current library, restore the media folder name, and the script reads back the data applying it to each track in turn. Depending on the size of your library and the tweaks that need to be made to the script it is probably in the order of 15-20 minutes work to recover the lost data, as long as it exists in an older version of the library file in your Previous iTunes Libraries folder.
There is a section in the Action subroutine that begins like this:
' Comment out details you want to omit, remove the quote to include
WriteLine "<Location>" & .Location ' Not so useful if working with missing tracks
WriteLine "<Name>" & .Name
WriteLine "<SortName>" & SortValue(.Name,.SortName)
You can comment out any field that you don't need exporting by adding a leading single quote mark to the line.
If you want more details or a step by step guide, feel free to ask.
This is the original thread that led to the script if you are interested.
See also Backup your iTunes for Windows library with SyncToy.
tt2