That algorithm applies to the stable marriage problem: N men and N women need to be paired such that no two members in each set would both prefer to be with each other over their partners.
The algorithm has each person rank every member of the opposite gender in preferential order. Then, one side (let's presume the women) take turns picking from the other in order of their preferences. If the woman A's top choice is man X, but man X is already taken by woman B, then he will swap iff he prefers woman A over woman B. If he prefers woman B over woman A, then woman A moves down to her next choice in the list. If you follow this pattern to conclusion, everyone is paired and there will not exist a man and woman who both want to be with each other more than their current partners.
We could apply this to school selection. Every student ranks all schools from most to least preferred. All schools then 'rank' students via any criteria they want. Want to put students with siblings in the school ahead of all others? Easily done. For any equally-preferred students, sort randomly. The "women" translates to students, and the "men" translates to "spot in this school".
Might not stop strategizing, but it's a great way to handle pairings with preferences involved.
[0]https://en.wikipedia.org/wiki/Stable_marriage_problem#Soluti...