One of the biggest reasons people have trouble with buoyancy is that they are overweighted, often considerably so. In evaluating dive fatalities, DAN has reported that a large percentage of the victims appear to have been
significantly overweighted. To have good buoyancy control, you need to be able to fine tune through your breathing, and you can't do that easily if you are overweighted. That is because for every extra pound you carry, you must have nearly a pint of air in your BCD to balance it. If you have a few extra pounds (as I personally like), you will be fine. More than that, and the expansion and contraction of that excess air will be more than your breathing can overcome.
So how do all these people become overweighted? It starts in their OW instruction. I posed for comparison pictures for an article on this topic in the PADI professional journal about a decade ago, and when I did, I had not taught students on their knees in years. I first posed for pictures as I normally taught (neutrally buoyant), and then I tried to pose for the comparison pictures on the knees. I couldn't do it. I had to add a tremendous amount of weight to get stable enough to perform dive skills on my knees.
The vast majority of instructors teach students on the knees, and to make that happen, they MUST have students overweighted.
Then there are the online weight calculators. You go to a website, put in your wetsuit, tank, etc., and it recommends weighting for you. I have tried several, and every one of them gave me at least double and sometimes triple the weight I needed.
Here are two stories that will illustrate the problem.
1. The student was assigned to me for the OW certification dives in a local lake. He had done the pool work with another instructor from our shop. Knowing he would be doing the OW dives in a 7mm suit, he had used a 7mm suit in the pool so he could "dial in" his weight. When he came to me, he knew he needed 22 pounds--his instructor had done the work to get it just right. I looked at his very small frame and thought "no way!" By the time he was done, he was diving with 10 pounds, and it was a revelation to him how much easier diving in general and buoyancy in particular had become.
2. I was diving in Ste. Maarten with a dive operation I had grown to know well, and I knew one of the instructors was going to be working on AOW dives with a young woman that day. When I saw them underwater, they were doing very basic buoyancy skills, not the skills of the AOW dive they were supposedly doing. I later asked the instructor what was going on, and she said the woman had asked for an unreal amount of weight initially. She had talked her down to half that request, and when they got in the water, she saw the woman had no buoyancy skill whatsoever. I later talked to that woman, and she said that the shop where she got her OW had given every student 20% of their body weight in the freshwater pool (she wore 20 pounds on her 100 pound body) and told them to use more when they dived in the ocean. She said no one could do any of the buoyancy skills for the OW class, but the instructor said they did not need to be able to do them, because skills like hovering could only be done by highly advanced divers.
Summary: You can't just go to anyone and have them teach you buoyancy. If you go to the same people who are creating the problem in the first place, you won't get the improvement you need.