> Is there a mechanism that works well for improving errors in PEGs (i.e. something like a non-returnable node)
Yes, it's called the "cut operator".
> how does one practically implement that?
Pick a parser generator that supports it natively. ;-) If you're talking about implementing the parser generator yourself then you probably already know more about it than I do.