What helps me a lot is to start playing BH to BH drive on a relaxed, not slow, pace, and really gradually add a little bit of spin on the ball. 10-20% for the first couple of spin balls, as your opponent turns his drive into a block.
Do that for a minute or two, then try to get a little more spin on (30-40%) and keep that level for a couple of minutes, too.
If you have to restart the rally, take 2 balls to drive, two to spin, two to step up the spin and continue.
For position, I love the "power triangle" concept. Get in BH ready position and bring your hands to meet in the center in front of you, forming the point of a triangle (your shoulders are the other points). Don't straighten the elbows, in fact let your upper arms point downward almost completely straight.
Your shoulders are relaxed at this point. No shrugging (turtling) and no pushing them downward, backwards or forwards.
If you are in this position, try swatting an imaginary ball off your non-playing hand. Or a real ball for that matter. You have now created a crosshair target for BH drive.
The transition from BH drive to starting a BH topspin is relatively subtle. A slightly larger backswing, mainly to enable the bat to go over the ball. Keep roughly the same timing, hitting the ball maybe 5-10cm closer to your body, and hit the ball in the top/back region.
You need to close your bat in order to do that and not hit the ball in the net, and this will be letting the rubber pull the ball forward. It's a bit like you're trying to brush the dirt off (hence the term "brushing the ball").