I’ve never encountered that error. In my experience the bootloader either works or it doesn’t work at all. I’ve never experienced something in between. If your Arduino had a buggy bootloader that’s causing the issue then it could be fixed by burning the reliable Uno bootloader that comes with the IDE. If the bootloader was somehow partially corrupted then burning the uncorrupted fresh bootloader could help that too but I’m not sure how likely that scenario is.
Learning how to use an ISP to burn a bootloader is a useful thing in itself even if it doesn’t solve your problem. It’s fairly easy to do with a spare Arduino running the ArduinoISP sketch and some jumper cables. Better yet, buy a dedicated programmer. I highly recommend the USBasp. If you’re willing to wait for shipping from China you can get them for <$3USD on Aliexpress or eBay with free shipping. I recommend the 6 pin version instead of the 10 pin version because the Arduino has the 6 pin ICSP header so you need an adapter to use the 10 pin ISP.
I’ve saved my ATmega32U4 boards like Pro Micro and Leonardo several times by burning the bootloader. Those ones are easy to overwrite the bootloader on. I’ve never had that problem with an ATmega328P or ATmega2560 board like the Uno/Mega/Nano/Pro Mini but there are some really cool alternative bootloaders you can burn to your Arduino to give it super powers like being able to upload sketches over Ethernet or from an SD card! You can also replace the buggy bootloader on the Nano or Pro Micro Arduinos with the state of the art Optiboot one used on the Uno and free up 1.5kB of flash memory!