Ditto to the other great suggestions already posted. What I have also found to be useful is my mind set. There are variables in underwater environments. Oceans present surge(s), currents, temperature variations( these impact gas density), and certainly tidal changes. Wrecks and caves have currents, flows, and restrictions and inside wrecks, surges, and large water volume changes in relatively confines spaces which create a venturi effect that defiantly challenge neutral buoyancy.
Understanding that these "external" factors influence the environment that you are attempting to establish neutral buoyancy in. If you expand the sense of the space that you occupy from a "fixed" place to the idea of an "area" that you occupy it is easier initially to maintain buoyancy in a "space" rather than the "place".
Weighting influences both trim and buoyancy demands. But so too does knowing your on board gas locations/capacity and prioritizing your management of that system. You have to determine first are my lungs my primary controlling mechanism or an alternative, i.e. BC, dry suit or depth. For example, will I use the pressure gradients at various depths to compress or inflate my wet suit or dry suit? So your lungs( lung volume), your BC, your wet suit and/or dry suit all present gas management opportunities.
For example, when I dove the Bonne Terre mine, my priority was neutral buoyancy and warmth. I managed my buoyancy and internal environment via my dry suit. Getting the right trim while I was vertical was one thing, changing the trim when I became horizontal another. Dry suits have a large volume of gas to manage. Small changes with gas can make big changes in neutral buoyancy.
Breathing influence the gas volume within your lungs that can raise or sink you depending on your both you inhalation volume and rate of your breathing, as well as your depth. Reducing task load and mentally centering help a lot with this. The more comfortable you become in an ocean environment the more proficient you will become in maintaining and sustaining neutral buoyance whether you are vertical or horizontal, or for that matter up side down.
A great tool that I have learned to maintain and sustain neutral buoyancy in an ocean environment is a john line. This simple tether has been invaluable to me in learning how to maintain neutral buoyancy at any depth. The line allows me to "See" visually where I am in a 360 degree environment and maintain my neutrality. I may be doing a deco stop at 20 feet and the surface waves change my immediate overhead from 20 to 15 feet and back. Using the john line is not only a visual aid but as a tether keeps me where I want and need to be.
The same principles apply if you are in an overhead environment, wreck, cavern or cave. Mind set and awareness of your depth( pressure gradients) as well as the environmental factors that you cannot control make it easier to adapt and trim. The only way to get experience is to get experience so get wet, stay safe, and dont skip those deco stops.