Protobuf only uses these panic macros sparingly in places would mean we're in a "should be impossible" and unrecoverable state, potentially from corruption by the application code invoking C++ Undefined Behavior, or (more rarely) a severe bug the Protobuf code itself. They are not intended to be hit in the normal course of execution of a program unless there's a very severe bug happening, eg, a parse() on any arbitrary bytes is intended to never reach one of these panics, it will always gracefully succeed or fail.
You could vendor either protobuf or absl into your repository and change the behavior of these macros, but we wouldn't recommend it since if those would ever be reached something is very wrong and the realistically the only things that could happen if you continue execution is either a crash immediately afterwards or else data corruption.