In RBY, a Poke Ball "missing the Pokemon" is used in place of the ball shaking 0 times. Shakes in those games are not random; the game estimates the odds of a successful catch, and if the catch ends up being unsuccessful, it will always shake a specific number of times based on those estimated odds. No matter how many more turns pass by, as long as there's no change in its HP or status condition, you can keep throwing the same type of ball and, unless one of the balls succeeds in catching it, all the balls will shake exactly the same number of times.
In particular, Articuno's catch rate is low enough that the only way you can ever get the game to estimate your catch rate high enough to exceed 0 shakes is if you put it to sleep (freezing would also generate those odds, but there is no legal way to freeze Articuno). Paralyze/poison/burn all add some amount to the catch rate, less than freeze or sleep do to be sure, and one of those statuses combined with health reduction can increase an Ultra Ball's catch odds to a somewhat reasonable 10%. But if you don't hit that 10% shot, the ball will still miss the Pokemon entirely.