ManiacZX mentioned laminating the joists below, and in my opinion, if you had access to the joists, you'd be better off installing bracing between them (cribbing, bridging, whatever you want to call it) ... but that assumes that you actually had access to the joists.
as you're going to be gaining access to the subfloor, you might be able to stiffen the floor as a whole -- put down some adhesive, lay more plywood/chipboard on top of it (ply's more expensive but it flexes less ... I'm not sure how MDF compares to plywood on flexibility), and then screw it down tight to the original subfloor. (and a lot of screws -- might even be worth renting a belt fed screwgun, as you're going to want them every 6" (15cm) or so to make sure the new subfloor is bonded well to the existing one, so they flex as a single unit.
If you can get the floor stiffer, it'll distribute the load better across multiple joists, and therefore they should deflect less when loaded.
Your other option is to come in from the top -- strip the existing subfloor off, install the cribbing, then lay the subfloor back down. Depending on how the subfloor is laid, you might be able to cut windows into it (set a circular saw so it just barely goes through the sheet; you might have to drill a hole and use a wire w/ a bent end as a guage first), expose enough to set the cribbing, close it back up, then to the lamination thing I mentioned above to stiffen the subfloor.
It's possible that installing the hardwood floor might help to spread load better (especially if it's laid so it's perpendicular to the floor, and nailed in, rather than a floating floor), but it'd really suck to go to the work of laying the new floor, and then have to tear it up because it's still a problem.