The position in place that I worked in a couple of years ago was that a list was passed around by the supervisor at the start of the leave year. The list was divided into weeks across the at the top of the page and peoples name down the side. It was given to the most senior person first and so on and they filled in which weeks they wished to take leave and passed it on to the next person on the list. The supervisor had to keep an eye on it to make sure that it kept moving.
If the person was not in a position to say when they planned to take their holidays they either left the list blank or filled in a week or two weeks that they thought they would take.
If someone more junior in the grade applied for a particular period and a more senior person in the grade after this applied for the same period, the junior person, having booked the leave first, was granted the leave. In most cases there was an amount of give and take and the system worked well enough.
As for using seniority as a means of deciding who should get leave when it removes the possibility of charges of favoritism or picking on someone. It is also fair in that everyone starts off as being the most junior in the grade and gradually rise up the list.
Murt