On the issue of large migrant waves I thought for a while that potential migrants should be beholden to the petition system, the player/overseer should be able to evaluate migrant groups and migrant groups themselves should be more coherent with themselves, by which I mean families travelling and moving together rather then single family dwarf moving to a fort with no family and then being sad that they have no family in the fort, or families petitioning to migrate to the fort as a family, no taking that legendary weaponsmith but not her 5 kids and fisher dwarf husband.
Immediate family do travel together. And in case the migrant wave isn't big enough, they show up in later waves. The only times they don't is when they're busy being kidnapped or in noble positions elsewhere. (And maybe mercenaries, but that's fairly new). And you have to banish them all in one group if one of them becomes troublesome.
They do but they don't, at least no how I mean it/think of it, they are a part of the "migrant wave" and that is how their travel is recorded rather then them being recorded as travelling with family, its why that over flow issue where "in case the migrant wave isn't big enough, they show up in later waves" exists, I think migrant waves need to be broken up into pieces, instead of a migrant wave of 20 dwarves you should get a migrant wave of a family of 7, a family of 5, a few of couples (4), and a few of singles (4).
Each sub group should be treated as its own separate entity not just a general "Migrant Wave 4" and that information should be presented to the player, rather then getting a simple "Migrants" announcement you would instead get a report and a petition, the report would tell your migrant wave consists of a family of 7, a family of 5, a couple of couples (4), and a few of singles (4) and each of their petitions should be handled as separate groups, so each family get it own petition that is for that family as a whole, turning away lots of migrant should be almost a big of an immigration killer as killing migrants.
When the game is checking for migrants it should figure out how many, so let say 20, then it starts creating the migrant wave, generates/finds histfig couple, two wives = 2 dwarves, then it gens/finds histfig family of 5 = 2+5=7, gens/finds histfig single 1 = 1+7=8 another couple 7+2=10, a family of 7 = 7+9=17, then it gens/finds histfig a family of 6, but since the family of 6 can't fit its gens/finds histfig again and gets another single 17+1=18, two more gens/finds histfig two more singles.
The idea is that if the whole family can't fit in the migrant wave the whole family waits for the next wave to make them waves more "coherent" by keeping the families within the waves coherent, now there are instances of one member of the family travelling to setup shop in the new city/town/village what have you but that should be accounted for in the petitioning process.
If someone migrates to setup shop for the rest of their family to follow that should be listed in their petition and their non-present family that has to be promised acceptance since they're also petitioning on the behalf of the family that will follow them should act as a "soft" pop cap which is to say that the game points out the conflict if you go to accept another migrant petitioner that would make the promised acceptance impossible as it would go over the hard pop cap, basically allow the player to break that promised acceptance but warn them of it.
Now actually going into all the details of why they are migrating to your fortress is best left for the starting scenarios when fortress will finally have a reason for being but making migrant waves more coherent and transparent to the player is what I am suggesting, petitions for migrant to actually gain citizenship at the fortress and for families to petition as families rather then as individuals, rather then hitting them with 50 seemingly random dwarves with no reason or explanation having it be presented to the player as a few of large families along with the some smaller ones and a few singles.
"A wave of fifty migrants have come, the 5th migrant wave to your fortress consists of a few large families, some smaller families and a few singles, you best prepare to receive their citizenship petitions."
"This is a large family of seven, the family consists of a husband, wife, eldest daughter, eldest son, second eldest daughter, youngest daughter, youngest son, They are petitioning for citizenship in your fortress."
With the option to review the family member from the petition screen maybe some sort of interview system like with villain investigations, you could choose to interview the whole family or just one or even none of them, just don't get upset when someone turns out to be a spy or vampire because you couldn't be bothered to interview them.
Instead of "migrant wave has come" its "migrant wave 5 had a few large families and a couple of smaller ones along with a few singles", DF'd goal is telling stories and ensuring those stories are presented to the newbs in an easily accessible way is what this is about, the idea of petitioning families as families gives the player control and presents the dwarfs as beings with families and dreams of their own which helps to sell no direct control as a feature.
It is like how I think embark screen should be redone to be more like adventure mode starting screen, you choose your starting civ, your starting site, choose your dwarves professions, the game "grabs/generates" dwarf with those professions from the starting site, you "prepare carefully" with each dwarf having the standard 10 skill/levels max 5, some starting personal "adventure mode" wealth and after the "pets and mounts" screen is the standard embark group inventory selection, then you pick an embark location based upon your civilisations knowledge, but that is part of the starting scenarios work and way more suggestion-y and less newb help.