If you are in or heading towards South Florida, check out Boynton Beach and Kevin here on the forums. He can really help get your buoyancy under control.
Beyond that, my suggestion is to find a shallow spot (pool works OK but a shallow/no current bay at around 10-20' depth is nice as well) with a tank that is around 1000psi and an instructor. Your BCD should be empty while you are hovering above the bottom. Now start taking out weight one pound at a time until you get to the point where you can ascend with your breathing and hold a depth on the way up. That is roughly how much weight you really need for those conditions. If you are rocketing toward the top at the end of a dive, you are probably over weighted as counter intuitive as that sounds.
Beyond that, my suggestion is to find a shallow spot (pool works OK but a shallow/no current bay at around 10-20' depth is nice as well) with a tank that is around 1000psi and an instructor. Your BCD should be empty while you are hovering above the bottom. Now start taking out weight one pound at a time until you get to the point where you can ascend with your breathing and hold a depth on the way up. That is roughly how much weight you really need for those conditions. If you are rocketing toward the top at the end of a dive, you are probably over weighted as counter intuitive as that sounds.