I just had a brainwave!! (at least I think so

)
How about if heroes worked like this:
- Initially they are always only modestly good military units with fairly modest special initial promotions (like warlord corporals and so on)
- They get a special hero-only promotion line that grants access to special builds, leading eventually to the achievements (so we could have a basic hero building that maybe adds culture or military specialist or something they get near the start, right up to the all-city achievements some of them have today)
This way you have to actually promote your hero up, all the time risking his destruction, to get access to the powerful achievements.
The benefits are:
- No need to limit hero availability to one per civ, or make them too hard to get
- New-born heroes are not especially powerful
- If you want to get to the powerful options you have to take risks. The extra tension of do-I-try-for-more-promotions vs build-what-I-can-now adds to gameplay
- Optionally the promotion line could branch, so that (for example) if you choose a 'lesser agricultural guru' promotion (which gives rise to the ability to construct the 'lesser agricultural achievement') which precludes then getting other 'lesser guru' promotions, but enables 'greater agricultural guru' (which allows you to build 'greater agricultural achievement')
This might need an extra prereqPromotion tag on unit constructions, but that would be super easy to add.