Yes.
It's amazing this question has remained unanswered. There are literally videos on the internet of people with dry batteries catching Shiny Rayquaza. And this question has already been answered several times on this website. KRLW890 even answered this in the comments.
The misconception likely stems from the use of the term "clock rate". The speed at which the game generates new seeds is based on clock rate. Clock rate does not refer to the game's internal clock, it refers to the computer processor. This is easily proven by the fact that events like wild encounters are still random. In addition, Ruby, Sapphire, and Emerald do not even use the current date or time to generate a seed, as is done in later games.
As a matter of fact, the battery having run dry actually makes the RNG easier to abuse. Because Ruby and Sapphire's startup seed is not fixed by default, but a dried battery ensures it will always boot with the initial seed of 5A0.
Uniquely, Emerald always starts with a seed of 0, meaning that the answer to this question is also the same as the answer to Emerald: You can get a Shiny Rayquaza by RNG abuse. However, you cannot respawn Rayquaza by running away in Ruby and Sapphire. This feature was introduced in FireRed/Leafgreen and carried over into Emerald.
But I would like to explain it in more depth.
Here's how it works: Generation III and IV Pokémon games use a 32-bit linear congruential generator for random events, including a Pokémon's Personality Value, which is used to determine Shininess. The formula for generating this Personality Value is
0x41C64E6D × seed + 0x00006073
and a new seed is generated each frame of the game using this formula.
Because the starting seed will always be 5A0, we can predict every subsequent seed. And if you know your Trainer ID and Secret ID, you can use this to predict which Personality Value your Pokémon will need to be shiny when encountered.
Because the starting seed is always the same, the "Shiny frame" is always the same. "Shiny frame" meaning the frame (referring to how many frames have passed since the game's been turned on) that will generate a Personality Value you need.
The reason why soft resetting works to begin with is because you are resetting that initial seed, thus randomizing the subsequent frames as well. When the battery is dead, the frames will always generate the same numbers in the same order.
If you know the "Shiny Frame", you can wait that number of frames before encountering whatever Legendary Pokémon you're after. Same for gifted Pokémon as well. I believe roaming Pokémon PVs are generated when you unlock the event.
Sources:
Personality Values
RNG information
Smogon's R/S RNG guide
Blisy's RNG guide