Как на Python распарсить большой XML файл (&gt;500Мб) содержаший ошибки?
Если файл XML содержит ошибки, то это уже не файл XML.
можно сначала представить что xml — это обычный текстовый и файл и привести структуру тегов в порядок функциями работы со строками, а уже потом открывать его как xml

например можно заменить все html теги на «нетеги» 
sed -e 's/<p/\& lt;p/g' -e 's/<\/p/\& lt;\/p/g' file.xml > new.xml

список всех html тегов гуглится

можно предварительно сравнить количество открывающих и закрывающих тегов
grep -o '<[^>]*>' file.xml |  cut -f 1 -d ' ' | sort | uniq -c
