Regarding skill gain, and forgive me if I missed it mentioned, is that the better one gets at a skill, the more able they are to choose between efficiency and quality. That is, an expert could make 100 of something in a given time frame, or one very good thing in the same time frame - but they can choose.
One way to handle skill gains would be to request quality as part of the task, and the skill gain only goes up when the task is successful. Right now, the game already attaches percentages to the likelihood of creating something of a given quality from a given skill level.
Imagine then only having as many skill levels as there are quality levels (7). So a dwarf of skill level equivalent to making superior items (level 4) couldn't increase in level until they made an exceptional or masterwork item (these should be low percentages of success to go from level to level, and should get smaller as you go up, so from masterwork to exceptional would be no higher than 1% and probably less).
You can then choose to task the dwarf to make superior items, which they will make at normal speed for that quality, or faster the greater the difference from the skill level to the quality level, modified by experience. None of these actions increase skill (they could maintain it if skill can fall off), however they would have some contribution to experience.
Or you can choose to task the dwarf to make an exceptional item, and he'll try and try until he succeeds given the success rate. Any failures are either complete wastes of resources or produce items of lowest possible quality - so there is a significant cost to gaining skill. This would nerf the ability to make masterwork statues by making 600 qualityless stone blocks. It would, however, require quality on things like booze or else you'd never be able to skill that up.
Items at each quality level naturally take longer to produce, so a masterwork dwarf isn't turning out masterwork items at top speed. Masterwork dwarf making masterwork items would be slower than an exceptional dwarf making exceptional items but a masterwork dwarf making exceptional items would make them faster. This is then modified by experience - the more experience you have, the more of a speed boost you could get, but skill should still dominate.
Legendary would require a masterwork dwarf and a fey mood to bump them up. This would be quite hard to achieve (combination of work and luck) but the dwarf would have a small % chance of having any masterwork item they produce trigger a mood from there on out.
This could achieve a few things:
1) more realistic skill gains
2) control over whether you want a lot of something (bolts) or really high quality of something (armor)
3) failure puts a cost on increasing skills, making it something you need to choose, vs something you get automatically. How many of us have forts full of dwarves all legendary in something? How many of us have made 600 buckets as an effort to skill up a blacksmith and turn a profit in the process by selling all of those? If you did a pure skill effort on a blacksmith, you'd get all of 6 buckets for your effort - one of each quality, but you'd burn hundreds of bars of metal to do it. That's not an idle decision to make.
I'd also vote to see random skill levels on immigrants. Some (most) should just suck, but there should be some mid-high level immigrants now and then.