Some freediving specific training might help. Try doing "dry" statics, holding your breath while in an easy chair. That way if you accidentally pass out you won't be injured. You can download some training tables
here . You can use these tables to build up both your tolerence to the CO2 that builds up during a dive and the lack of O2 that you will experience during a dive.
I also find that doing laps in a pool with fins on helps. If your doing any in water breathhold training you should be directly supervised, a lifegaurd doesn't cut it I normally just have my wife hang out and watch. Again, when doing underwater laps focus on either building a tollerence for CO2 buildup or O2 deprivation. For instance to target CO2 buildup, do laps underwater at high speed with a constant rest break between laps, say 30 seconds. For O2 do laps slowly underwater, and have a decreasing rest break between laps. I normally count breaths, something like 10, 10, 9, 8, 8, 7, 6, 5, 4, 3.
You can also try apnea walking, this is very good for building your apnea times. It's also relatively safe if you pass out in a nice grassy field it's not likely to be as terminal as passing out in a swimming pool if your lacking supervision. Just hold your breath and walk as far as you can, breath and repeat.
Hope that helps! Pm me if you need any more specific advice.