Check out HR codes, an alternative to QR codes which encode all valid URL characters to images. https://github.com/hantuzun/hr-code
Human Response Codes are designed to be recognized by humans and OCR.
Both of these scan perfectly fine with QR. And in HR, those (and most of other damaged examples) would be unreadable.