It may be that prefinished is not the route to go. You can sand about 1/8" off the high seams of the plywood, providing that it is at least 3/4" thick. If you have a thinner 5/8" plywood subfloor don't do this. Don't bother will all the claims of those leveling compounds, they will crack when nailed. And these are all really meant for concrete subfloors in any case. And the gypsum based ones are the worst of all.
So don't be afraid to sand off a bit of the subfloor, and install some shims. I like to use glued and stapled down 1/4" plywood and sand off the edges to fill in dips of that depth. Then staple the plywood edges after. You do all this sanding of the subfloor with a floor edge sander loaded with 16 grit sandpaper.
Then I would strongly suggest installing an unfinished hardwood, and have it sanded professionally on site. The first passes of the floor drum sander should be done at a diagonal to the run of the boards. This will level the floor perfectly. Consider doing the finish yourself that's the fun part anyway. And in your case it may be the only way to get a really smooth floor.