It sounds like you are reacting vs. acting. Once my descent has begun and I'm most definitely headed down, I add little bursts to my BC to keep the descent controlled until I'm getting close to my planned depth then add a little more, little more, little more until the descent slows and then stops. You should be adding air long before you reach your planned depth. The further down you go the more you need to compensate, but it shouldn't be all at once when you are 5 feet above your planned depth. I like my descent to be rather lazy, makes equalizing easier and I can stop almost on a dime if I'm having a good day.
When ascending I never add air to my BC. I fin up and vent as needed to control the ascent. If you start the dumping air to descend/add air to ascend, you're right and you will become a yo-yo in the water, as you've found out. You need to do the counter-intuitive thing and add air when you're going down, dump air when you're going up.
The best thing you can do is go to a training quarry, or a pool, and just practice ..... a lot. You do need time to get used to your new equipment, but the learning curve shouldn't be that steep once you're sure you're properly weighted. When you check your weight at the beginning of a dive, keep your hands still and cross your ankles. I watched a friend weight check in the pool and relieved him of 4 pounds because he was impeding his own descent by moving around. If you are on a platform or similar solid bottom at 15' at the end of a dive you can, with a buddy, literally dump air by purging your octo down to 500 psi and do an end of dive weight check. This is sort of like a fin pivot where you dump all the air out of your BC and pick up or drop weight until you start bobbing up and down with big, deep breaths.
Hope that helps!
Rachel
P.S. I realize I just repeated a lot of what NetDoc said. He's right.