I agree with a lot that has been said here, and disagree with about as much. Here's my idea of how migrations should work:
- When a question is VtC'd as off-topic, the VtCer is asked if there is another SE site where it would be on topic. If so, it becomes a VtM (Vote to Migrate).
- At that point the user gets the same prompt as if it were marked as a duplicate, as suggested by Monica Cellio.
- If the prompt gets accepted or it gets a total of 5 VtMs, it gets put on hold on the originating site and the target site gets a proposal.
I don't have enough rep to do anything that high level on any sites, so I don't know exactly how things like that work now, but essentially at this point it should be approved or rejected by the target site. It should only be rejected if it is off-topic for the target site. If it's a bad question, it should be accepted but immediately closed for the appropriate reason. My logic for this is twofold:
It teaches the asker two things: The asker now knows where they should post questions of that topic (i.e. SO vs Programmers, ELU vs ELL), and why it was a bad question. I have almost had personal experience in this: My question http://serverfault.com/questions/770152/hyper-v-style-hypervisor-for-ubuntuhttps://serverfault.com/questions/770152/hyper-v-style-hypervisor-for-ubuntu at first was closed as off-topic because they thought it wasn't an enterprise setup. Had it not been for a business, I would never have learned that asking for a Linux equivalent of a Windows program was undesirable. However, with my idea in that situation, it would have been migrated to either SU or Unix/Linux and then closed, telling me where I should ask similar questions and telling me why it was a bad question.
Even bad questions may mean something to somebody. My way sorts the trash cans appropriately, so to speak.
Also to guard against people not caring which site a question should be posted on, we should implement some sort of question ban and/or reputation loss system for people who have questions migrated too often.