What should I do about a hardwood floor that's sagging between the joists?
Since you can get to the floor from underneath, you can shore up the flooring by adding new joists between the existing ones.  This will not be a FUN process, but the process is simple enough, just labor intensive.

First, add cross braces between each joist at each end, of the same dimensions as your existing joists.  You'll want them to be snug fitting between each joist, and well supported with joist hangers.  

Now, between each brace, halfway between each existing joist, hang new joists to fit between the cross braces you added.  Before you permanently hang the joists, prop them up from beneath with 2x4 temporary posts to force the tops up to be level with the tops of the existing joists (pushing the flooring above back into shape), then secure them permanently in place with joist hangers.

Add blocking between the old and new joists as well, to ensure the new joists don't warp/twist.

See the pic attached to help clarify what I mean




Black = OLD work already there
Red = new cross bridging or bracing
Blue = new joists
Green = blocking to prevent warping
Purple circles = places where you use joist hangers