Everyone seems to say that assignment of exercised options is random; does it just appear random to an outside viewer or does the exchange pick a name from hat for assignment?
The exchange takes seriously its responsibility to assign exercises fairly. Typically it is a two stage process. The exchange uses a random number generator to assign the exercise among the brokerage firms they deal with. The brokerage firm is then responsible for assigning the exercise among its customers; generally they also use a random process. The exchange must approve and inspect the process used by the brokerage firm.
(I have never worked for an option exchange so I have no idea what kind of r.n.g. they use).