Well, why don't we contribute some experience to this excessively
theoretical discussion.
Specifically, it works in practice, since 1997, with no complaints I
can recall. The logic for use of "%_" is that it looks like a printf
format operator, and does what it looks like: underlines the following
character in the string. Because of the ubiquity of printf format
strings, programmers are used to treating strings containing "%"
specially. It is very easy to see the accelerators in menu code that
uses them. Besides the "%_" sequence, the "%%" sequence is treated
specially; it resolves to a single "%".