> In most programming languages identifiers may not start with a digit.
> Same for Ruby.


I'd agree with this point.

> In Ruby there's the additional point that $1, $2 etc. are used for holding
> the contents of regexp sub pattern matches.

But not this.  The existence of the magic variable $_ doesn't preclude a user
from using $_var, why should $1's existence preclude $1var?  (Or is my
hypothesis incorrect; $_var works on my version of ruby.)