Object buoyancy in water on different water levels?

Hey everyone! I am making a game that involves objects floating in water, but the majority of the articles on the internet only consider buoyancy on a designated water level.

This is the closest example script I have been able to find, in that it depends on the objects tagged as water, but it tended to be buggy and was difficult to set up.

My ultimate goal is to have a boat be able to descend down a river/rapids, so any help would be greatly appreciated!

There was a talk given at Unite this year on this topic that you can watch here that goes over one possible implementation Unite 2015 - A Little Math for Your Big Ideas - YouTube

He also has a version of that buoyancy system on the asset store Unity Asset Store - The Best Assets for Game Making