MaxPower, I SO empathize. I'm still working on this issue, with over 450 dives now.
Here are a couple of ideas: You have a buoyancy "window", that you can control with your breath. Once you are outside of that window, you need to use your BC because your lungs don't have enough volume. The window's probably about 2 feet in each direction. Beyond that, don't persist in trying to fix the problem with your breathing.
You have to key in very intently to tiny clues about buoyancy. In a dry suit, this is actually somewhat easier, because the degree of squeeze gives you a lot of information about your depth. In a wetsuit, you have to pay more attention to your BC and your head. My ears tell me about small changes downward, but tell me nothing about getting too shallow; for that, I have to feel the amount of pressure my gear puts on my back, and recognize when it's starting to feel too light.
If you have a buddy (and you should) your buddy can be a nice source of visual reference. That works well if he's stable, and poorly if he's not.
Ascents in very clear, deep water are one of the best places to make use of an SMB. It gives you a reference for depth AND for vertical.
And the biggest thing is practice -- Practice, practice, practice. The first couple of times I did ascent drills, I yoyoed ten feet. Now I'm grousing about two or three, and trying to get it down to one. But that's taken over a year's diligent work.