On a good day, my range is from a C#1 to F#4. I know this, because that's the scales I rehearse a couple of times in the week (everything above D4 is more or less controlled howling, though). I plan to extend it to a G4 soon - I don't believe I have more to go on in the bottom part, which is more or less unusable until E1.
I have 5 effective registers, a bass register, a middle register, a high register - and two more or less overlapping top registers. The trick in switching between registers, I found was to extend each register so you have a little overlap to go on. A good technique for register change is:
C2,C3,B2,C3,A2,C3,G2,C3,F2,C3,E2,C3,D2,C3,C2
... in that pattern over the register changes you need to rehearse. This is good to get training on the intervals too, but it is usually too long to be used on the whole scale, when I already have one 8 note pattern and one 13 not pattern I do that with.
Here's my warmup pattern - I start on:
C3,G2,A2,F2,G2,E2,F2,D2,C2
- work my way all down to the bottom of my range, up to the top of my range and down to end at the pattern in C3 again.
Here's my other training pattern. (- indicates a pause) starting on:
E3,B2 - D3,A2 - C3,G2 - B2,F2 - A2,D2 - F2,E2,C2
- very good for intervals. Again, I start at the middle, work my way down, up and back again.