How to fix neck dive for guitar and bass
There are several ways to fix this problem. We'll start with the easiest first...
...but before we do, I'll explain why this happens in the first place.
Any electric guitar or bass that does not have the front strap button positioned over the 12th fret is almost certain to have neck dive issues.
If for example you look at the Fender Stratocaster or any Strat-shaped guitar, you will notice that the front strap button is directly positioned over the 12th fret. The same is true for the Fender Jazz Bass, Fender Precision Bass, Fender Jaguar Bass and Fender Mustang Bass. All those guitars and basses have the front strap button over the 12th fret, and therefore do not have neck dive.
Other guitars, including ones in Fender's own lineup, do not position the front strap button over the 12th and therefore may have neck dive.
One of the most notorious where neck dive is a problem is, of course, the SG, be it a Gibson SG or Epiphone SG. The front strap button for that guitar is positioned on the back of the body.
Other guitars that can dive slightly are the Telecaster and Les Paul. Those guitars have the front strap button on the front side of the body, but obviously nowhere near the 12th fret.
The reason I'm telling you all this before continuing is so you don't think, "Okay, maybe if I get another SG/Les Paul/Telecaster/whatever, the neck dive won't be there." No. It will still be there and always will be, so you have to do certain things to get around the fact the guitar does not have a front strap button positioned at the 12th fret and never will.
Fix #1: Strap through the belt
This fix is 100% free and very easy. Do you wear jeans? You probably do. Do you have a belt? You probably do.
Connect your strap to the front as you normally would. For the rear button, snake the strap through your belt and then to the rear strap button.
That's it. Most of the time this works fine. You may have to flip the strap end at the rear button if using a strap with a wide end flap so it doesn't twist too much through the belt, but otherwise, that's all there is to it.
Fix #2: Strap through carabiner attached to belt loop
Most people know a carabiner as a D clip. It's the thing used for camping, hiking, fishing and other purposes when you need a quick-release clip. See what one looks like here.
When you can't snake a strap through a belt or you just don't like wearing a belt, you use this instead.
Snake the guitar strap through the carabiner first. Then clip the carabiner to your belt loop. You will have to experiment to find the best position for the carabiner on the strap. It will take a little time to find out the best position but it's worth it.
Fix #3: Traditional all-leather guitar strap
A strap like this one where the front end is wide and the rear is skinny that has all-leather construction will grip your body better. While I do firmly believe the Ernie Ball Polypro is the best strap ever made, it does slide around (as it was designed to) when wearing it while the all-leather strap does not, and that's why it works.
Other fixes I don't recommend at all but will mention anyway
Relocating the front and/or rear strap button
This is where you physically drill holes in your guitar to relocate where the strap buttons go. On the rear, you move the position up a few inches. On the front, you move the button as far forward as possible.
I'd only do this on a guitar where you absolutely don't care if it gets wrecked or not. Once you start taking away wood, there's no going back. And those that say "just add wood filler and nobody will notice" are complete idiots. Of course it will be noticed.
Does this work? Yes, but adding weight will wear you down, usually at the shoulder. Adding weight is something I would never recommend doing because it's not really a fix.
Stitching Velcro to the guitar strap
Not a good solution, and doesn't work for most people. Doing this will usually just end up pulling on your shirt and not doing much to fix neck dive at all.