If you want near perfect control of ascent learn to use an air siphon*(which happens to work best in the vertical).
*The "air siphon," is something I have discussed before. Each BC is a little different so you will need to experiment and practice if you want this in your bag of tricks. It will result in a highly controllable ascent. Start up, by kicking or very slight filling of the BC. When your BC has expanded enough to keep you moving, relax and let it carry you upward, but hold the oral inflator hose as far down (deep) as you are able and keep the oral inflation button OPEN.
Continue to keep the oral inflator button open and move the hose up until air starts to trickle out of the oral inflation mouthpiece, then lower it till it just stops. You now have an air siphon from your BC or BP/W that you can use to control your ascent or descent rate with amazing precision. Just remember to keep the oral inflator OPEN ALL THE TIME. THIS TECHNIQUE REQUIRES PRACTICE!
It is a little contraintuitive, moving the open inflator upward will increase the size of the bubble in your BC and will speed you up, moving the open inflator down will decrease the size of the bubble in your BC and will slow you down or even (in the exteme) cause you to sink.