The process should be
- closed as off-topic, the close voter may choose other stackexchange sites where he has enough reputation as sites where it is on topic
- the closed as offtopic lists the sites where it might be ontopic
- the user that asked the question has the ability to reask the question on one of the recommended sites(if there are any) with one click
- the closed as offtopic removes the sites where it might be ontopic and instead links to the reasked question
- the user that answered the question has the ability to reanswer the question on the other site in one click
This solves following problems:
- Question is only migrated if it is off topic
- The user that asked the question is informed about the sites where it is ontopic
- Doesn't punish the user if the question was just asked on the wrong site(only one extra click)
- The responsibility of a bad migrated question is shifted from the community of the migrated from site to the question asker and the user of the migrated to community that invited the question.
when in process stage 2 it looks like:
{question}
This question is off topic on this site.
It may be on topic on one of the following sites:
- stackoverflow
- ...
when in process stage 4 it looks like:
{question}
This question is off topic on this site.
It has been moved to {link}