Ok, found out how to abuse of raikou (or any roamer) after the pokemon league. Obviously, you need to faint it before you even start fighting the E4.
I've tested many times and its starting frame is always 1, when I got 5 it was because of the 128 steps thing.
In-fact the only way to advance the frame for these kind of pokemon is to walk for 128 steps (I did this in front of the champion).
First, I saved just before entering the room with the first trainer with 5 pokemon in my team.
I did a save state as soon as I entered the world, so I could verify my seed by catching a pokemon in the Victory road.
When I hit my seed I loaded the save state and defeated the 4 trainers, then I did a save state in front of Lance.
I fighted him and won, I went to catch raikou and its frame was 6 (that's because by the time I got to him, I already walked for 128 steps).
Finally, I loaded the save state, I walked for 8x128 steps (since my target frame was 46).
I defeated Lance again and I got my shiny raikou.
I guess HG/SS RNG is almost impossible to abuse without save states, I hope we can make everything easier.
EDIT:The radio and the phone don't work in these rooms.
Also, to be clear, the roamers are respawned after you beat the champion and see the credits at the end.