First off, thank you so much for this guide, it's been very helpful. Anyway, I had been struggling to RNG a fossil (not a shiny, but a female one with a really good IV spread) in Sapphire. The difficulty with RNGing in this particular scenario is that the PID isn't generated immediately upon pressing "A" at a certain point, it's a certain amount of frames after pressing "A" at that point. This is due to the pokemon being given to the player automatically at a certain point in the dialogue ("The fossil was an ancient Pokemon. Lileep/Anorith," or so). After some trial and error (or more likely dumb luck) I determined that it takes exactly 150 frames for the PID to be generated after "A" is pressed to trigger the automatic portion of the dialogue. As result, to RNG a fossil, you need to reach a frame exactly 150 frames earlier than your target frame.
Let me use my RNGing as an example. (I have no pictures though):
Using RNGReporter, I settled on a target frame of 17212.
Due to the frame gap, the frame I actually needed to reach was 17212 - 150 = 17062.
Upon reaching that frame and pressing "A," my result was, as expected, a miss.
RNGReporter determined that my actual frame was 17225
17225 - 17212 = 13, so the frame I actually needed to reach (again, accounting for the gap) was 17212 - 150 - 13 (or simply 17062 -13) = 17049
I reached that frame, pressed "A," and Success!
I am so happy to have figured this out, so I thought I'd post it here in case anybody else had the same trouble. Also, in case it wasn't clear, the steps I described only works in Ruby and Sapphire (as far as I know, anyway). And in case anybody out there is wondering, I was RNGing for a female Lileep with IVs as follows: HP 30, ATK 30, DEF 29, SP. ATK 31, SP. DEF 27, and SPD 30.
Again, thanks for the guide, and I hope this helps somebody out there who's had this problem. And to finish on a completely unrelated note, this is my first ever post here, so hello, world!
EDIT 10/8/18: I just discovered Castform's RNG follows the exact same method as the fossils in R/S; it makes me wish these scientists would just shut up and give me the 'mon(s).
EDIT #2: Kecleon follows this method too, apparently. #IGiveUp
EDIT #3: Wow, I keep finding these things, don't I? Anyway, I've discovered that in Ruby/Sapphire (or at least in Sapphire) the mascot legendary has a frame gap of 750 frames (meaning you need to reach a frame 750 frames earlier than the target frame). Also, the game should be paused at the dialogue of the orb glowing.
P.S. I know there was supposed to be a guide for Breeding RNG in Emerald, and while I understand if it never came to fruition, I do hope to see it someday.