I would make sure the floor is supported in the basement so it will not continue to sag. Then I would rip up the flooring and sister each joist with 2X10s. They should be long enough to span the entire width of the room and rest on the foundation. Find the highest point on the existing joists and make them all level to that point. Bolting the new and old joists together is the best way to go. Use 3/8" bolts with nuts and washers about every 2 to 3 feet with lots of screws and construction adhesive also. Top with 3/4" tongue and groove plywood, also screwed and glued. This should give you a tight level floor.