Underwater Acoustic Positioning
I have worked with this kind of a positioning system before (NOT underwater, but still sound based), and I hope I can help. Your first option is probably not the best idea, even in a controlled environment there are many factors which can change your signal's amplitude and therefore making it unreliable information.

I think your second option is a better way to go. It could be even better if you can embed some time information to your transmitted signal as well (a timestamp like GPS). With a timestamp containing information about when the signal was fired, you can calculate the time difference without ping-back, which would save you some distance error. Or you would have two methods to determine the position and you can perhaps use some sort of filtering depending on a set of initial results (to decide which one works better). 

Another method that I would like to suggest is an array configuration. If you can make sure that your transmitters will transmit at ABSOLUTELY at the same time (with respect to each other), you can use the phase differences of the received signals in your boat to determine the range and the respective angles(with some ambiguity). So again you wouldn't need to ping back your signal. But in this configuration the absolute positions of your transmitters must remain the same, and the positioning of your receivers in your boat must remain the same as well.

When we used the ping method, our biggest problem was echo. I don't know exactly how echo works underwater but if it exists, I would suggest you to be careful about it. In our project we had only used the ping without any extras that I suggested to you, and I must admit it wasn't very reliable. 

Good luck with your project, I hope you do better than us, and I would like to hear about the results.