Could you encode data in a Black Box ping? Black boxes put out a sonar ping at about 32kHz. From what I've read, depending on sea conditions the ping will be audible at the surface out to about 16 km, leaving a search area of around 1024 square km.
By adding a little complexity to the ping circuit, you could encode within it the last received GPS position of the box, before it hits the water. With average sea depth and average sink angles of less than 45° that information would cut the search area down to about 10 square km.
Is there some reason this tech is not used, or is it still in the rigorous testing pipeline these devices must go through?
Current underwater locator beacons (ULBs) have a detection range of only a few km. 16 km would be under exceptionally favourable conditions. So in most cases the GPS data would not be of any additional help. It might tell you where the aircraft was before it hit the water, not exactly where the debris ended up after falling through several Km of water.

An advantage of current ULBs is their extreme simplicity and small size. There's no need for external data-feed and power connections. There are no issues of openings in the casing for waterproof connectors that also need to withstand the g-forces and pressures expected to be endured by a ULB. They are easy to test regularly and relatively easy to maintain.



From what I have read, current proposals for improvements to ULBs mostly focus on


increase duration from 30 days to 90 days
increase range by changing frequency from 37.5 kHz to ~10KHz


There are trade-offs here - longer duration means bigger batteries. changing the frequency may make it harder to distinguish from other sources of sound in the ocean.



An interesting 2011 dissertation describes the difficulties involved  and discusses modulating the beacon signal to include data.