Umbreon and I were testing this code out since the infinite shield helps immensely with shield drops. There are a couple of suggestions we both came up with that should you continue with this project would be great to have.
First isn't really a suggestion, but the code has this issue where it randomly reassigns my button layouts, commonly changing A to special or jump and a bunch of other buttons to either or. I think it might be in conflict with the replay/CSS button remapping codes (which are pretty commonly used), but I don't know anything about that so whatever.
A suggestion that Umbreon had was if the idle overlay changed to a different color after 2 frames (maybe red?). It's one thing to know that you're wasting frames (the entire thing is brilliant btw), but it's also helpful to be able to get a sense of how off you are. One frame is pretty easy to tell visually, but after that it's really hard to differentiate. So the idea is if someone sees a green flash, they know it's one or two frames. If they see red or something, then they know they're off by more than that.
I think I had a few others. I'll come back and edit as I remember.
Edit 1: One of the ideas was if you can make the idle overlay show for the ledge as well. It would help immensely in practicing frame-perfect ledge play.