Just to prove a point.. this took me 2:57.7 -- with notes.
gen shuffle = runiform() /* generates a randomly generated number between 0 and 1 taken from a uniform distribution */
sort shuffle /* sorts players based on shuffle from smallest to largest */
keep if alive==1 /* players who are dead would be dropped from the process at this point */
gen order = _n /* based on the player's position in the sort, generates an order variable */
gen stay =0 /* creates the initial stay variable */
replace stay =1 if order >=4 /* any player with an order less than 3 gets a sent value */
At this point, the command to send the players based on the stay variable occurs and the command would drop all the variables so it could run it again.
Now, admittedly, this was done in a different program than what Bungie is using (and was done in a program designed for statistical analysis..), but still. Something like this is simple (although it technically has one extra line that's unnecessary), and I feel would avoid some of the problems that we're experiencing.. I just don't get it..