Let me address your question in two parts, starting with the middle:
I'm a newly OW certified diver and I'm experiencing an issue with my buoyancy at depth (well, around 20').
[...]
Even more dangerous is the occasional issue of continuing to go up if I don't fully exhale, causing me to have to vent the BCD and exhale fully to reverse the ascent.
An overweighted diver *will* act like the proverbial yo-yo, as their air spaces (BC or otherwise) expand too much with ascent and compress too much with descent for them to maintain a net neutral position. They add air to compensate for the compression, but overshooting or ascending quickly makes them uncontrollably positive. They then dump to or past neutral, and on re-descent, compression makes them uncontrollably negative. The effect is more pronounced the shallow they're trying to stay. The thing is, when you're shallower than 20 feet, the air spaces you have with you are going to be expanding quite significantly with changes in depth (this is where math comes in, but I don't have my whiteboard handy, and I don't want to scare anyone away with lots of numbers and equations -- you should know it from class, of course).
Anyway, you may be somewhat overweighted. If you can yo-yo around 20 feet (crossing above and below that depth with each breath), you're not out of control. If you can drop some weight to reduce the airspace volume you're carrying along, it will be easier to keep control (i.e. you'll have a larger depth window in which you can both ascend and descend using nothing but your breathing), but you *are* able to be neutral. Even if you do get down to some minumum possible weight, you will still likely have to dump to keep control when you're ascending in the last 15 feet or so, thanks to expanding neoprene and any BC air you're carrying (you'll have *some*, as the air you've been saving for in case you have a problem weighs something).
Using the minumum possible weight will make life easier on you, sure, but that's a separate thing than the other part of your question. In fact, even when you're down to some comfortable minumum weight, you'll still have just as much problem with ascending and descending during a breath, as your lungs won't shrink just because you dropped a few pounds from your weight belt.
Since everyone else has talked all about weighting, let me address the *rest* of your question:
I take the described slow deep (not so deep as to fully expand the lungs) breaths with long full exhales - the result is a lift of about 3-4'. When I am done exhaling, I'm heading quickly toward the bottom.
As a result, I end up shortening my breath and either not exhaling fully or not inhaling fully and getting my breathing all messed up. Often, the result is a yo-yo effect that keeps me feeling off balance and a bit out of control.
[...]
Am I doing something wrong? Is there something I should be doing different (not breathe so deep)?
Let me go with two separate tacks here. First, the simple physics one...
How's your trim in the water? Are you horizontal when you're sitting there bobbing up and down, or are you more inclined (or even vertical)? If you're not horizontal, working through your trim to find your balance will not only help considerably with air consumption, but it'll also greatly reduce the magnitude of your inhale/exhale excursions.
Think of those cheesy skydiving movies. When the hero... or villain... wants to plummet *really* fast, he gets vertical. When he wants to go as slowly as possible, so he can clobber the plummeting pursuer that's right above him (of course), he flattens out into a nice horizontal position. The same thing goes for depth, except that we can fall *up*, too, not just down. :biggrin: To rise and fall more slowly (which means less total change in depth, of course), lie down and relax.
Okay, now that being said, here's my not-quite-a-rant... :biggrin:
The other side of things is to stop trying to breathe "correctly". Sure, you don't want to be taking shallow, panting breaths, but lots of people make life a lot harder on themselves than necessary, all due to their pursuit of some holy grail of breathing.
Check on your own breathing once in a while, and use it as an indicator to know when you're working too hard or getting stressed or what have you, but the only time you should have to try to breathe in any particular manner or tempo should be when you're using your breathing for fine buoyancy control (although even that becomes completely second nature after a while).
If you come up from a very relaxed, calm dive where you weren't swimming much at all (and not fast when you did), and you have a headache (not from sinuses, of course), it may be worth it to try thinking about breathing a bit more deeply the next dive. Outside of speed-demons over-exerting the *tar* out of themselves, I have very, very rarely (if ever) seen anyone who came up with a CO
2-induced headache who didn't bring it on himself by trying to breathe "correctly". A normal person breathing without any thought on the matter is not going to suddenly die from breathing "incorrectly", so there's no point in trying to correct poor breathing form unless you come up with a headache to indicate you have room for improvement.
We're hard-wired to breathe. If you start getting a non-sinus headache or feel light-headed during a dive or catch yourself panting or hyperventilating, take a moment to relax and think about breathing more slowly and deeper, but otherwise, don't bug yourself with breathing. It's not necessary, and it can actually make things worse for you.
(There. That's all I have for now.
)