Gobbs, I can't speak for others, but since I have two dedicated dealers that sit in specific seats, our seating isn't entirely random. The others draw a seating chip labeled 1-8. While I could let Seat 1 be the first dealer, my actual dealers would never have a chance. Or, I could have the dealer who draws Dealer 1 (not 2) deal first. But instead, once seated, one dealer deals a card face up to everyone. Highest card is the first dealer, and in case of a tie, tied players get a second card until the tie is broken.
If I didn't have dedicated dealer seats and only a few qualified dealers, I'd draw seats 1-10 and let the one who draws 1 be the first dealer.
Two ways to do that more efficiently (less effort and time):
a) all players draw seat numbers, dealer sits where he always sits placing his number in front of him, all other players sit in their respective seats relative to his number. No need for drawing button location separately -- it's always seat #1 (or nine, or whatever number you use).
b) even if using your seating system, there is no need for dealing extra cards in the case of a tie for button -- highest suit wins in case of numerical tie ( in that order).