If I had written the code, you would have these three settings:
1. Convert to xxx kbit / second (128, 160, 192, 224, 256)
2. Only convert stuff that is above xxx kbit / second. You wouldn't want to convert a song from 130 kbit to 128, that's pointless.
3. Only convert until all of music is less than xxx GB. No point converting the music when it fits.
And then I would start converting your lossless files first, because they give the biggest savings; better to convert 50 lossless files to fit everything on your iPod instead of converting 500 160kbit files. And I would use all the cores and download files that don't need converting while converting other files to make it go faster, and when everything that doesn't need converting is downloaded, I'd start downloading other files before they are converted, so you can stop the sync and have all your music, even before it is compressed as much as you wanted.