Hello Julia, welcome to the forum.
Could you provide us with one example vasprun.xml file? This would help us to identify the issue. Also when you click on an entry and go to the logs tab, we might get some insight.
I found that the files that did not upload correctly were incomplete. I am wondering if there is a way to automatically detect which vasprun.xml files completed successfully vs are incomplete and upload only the successful ones. Thank you!
Usually if a vasprun is incomplete, it also is not a valid .xml document. Our parser tries to be as generous as possible and in many cases it can deal with broken .xml. There will be warning in the log (e.g. if you look at the log tab of an calculation). In your case, the vasprun probably contains too few information to successfully pass the normalization steps. Hence, the errors.
If you want to make sure that you only upload complete vaspruns (i.e. complete XML documents). You could parse them first with an xml parser. This shell command for example should have an error exit code on invalid xml documents:
python -c "import xml.etree.ElementTree as ET; ET.parse('path to my vasprun.xml')"