This is a set of instructions for manually creating your perfect map without tweaking the numerical settings in dwarf fortress or using the awful painter. I have spent about 10 hours perfecting this and making it work, and have personally created sheer cliff walls overlooking the ocean, and rivers that intersect 4 or 5 ways and cumulate in multiple 7 z level waterfalls. You can do anything with it - if your willing to put in the time and effort. Manually creating a waterfall and then seeing it appear in world after world you generate is very satisfying.
Step 1:
Download the Height Map Editor:
http://hme.sourceforge.net/This allows you to create a randomized height map as a base, then manually edit it. Its fairly intuitive. You have to click on a new random seed each time you make a new height map. You can dig or raise tiles, and when you dig something out you'll get a river or an ocean depending on how deep it is. If you make it very thin you might get a brook instead. If you raise tiles you'll get a mountain. For the best results have mountains next to deep areas, with a -tiny- bit of normal spaces inbetween, just barely visible. This will get you cliff walls near oceans you can settle. Remember that even when digging areas DF is height-sensitive, so digging out areas of different depth will get you waterfalls, just don't overdo it and make an ocean.
Step 2:
Download the Dwarf Height Map Utility 1.2
http://www.bay12games.com/forum/index.php?topic=22342.105You'll need microsoft's "dot net" framework 2.0 to make this work, but it is very intuitive. Make sure you use the maximum map size though, or you'll ironically loose some resolution when importing. Also, only import based on elevation; the others may help in other ways but I havn't actually noticed a difference when importing based on savagry or volcanism.
When you go to import, the utility will want to be pointed to your Dwarf Fortress\data\init directory, because it wants to edit your worldgen file. Let it. I don't know if someone will update this utility later to make it next-version compatable, or if I'll be able to figure out a way to hand-edit it to make it such, so for now these directions just apply to the current version.
Step 3: Minor tweaks to dwarf fortress's settings.
Turn off 'periodically erode extreme cliffs' and set the erosion count to 0. Aside from those two settings and the meshes none of this matters since you'll have to turn off all rejection parameters anyways when you make the map. If you want volcanism or savagry, turn on the meshes as appropriate.
Step 4: Generate the world.
You'll have to wait for between 500 and 1000 world rejections before it starts; MAKE SURE TO IGNORE ALL REJECTIONS EVEN IF IT RESULTS IN A LEGENDS ONLY WORLD. It won't. You've already done most of what DF is trying to do, so its rejection parameters just confuse it. This means that it will -not- manually place volcanoes or anything, so your only tools for where and how many volcanoes you want are to play with the meshes and regen a few times.
Remember that because this is all basically hacking the less then optional world generator built into DF, sometimes it will crash DF when your making the world. Not often though, and the worlds are perfectly playable afterwords.
Enjoy your perfect world!