I was reading the sentence:
but I have not understood what this expression means.
In your sentence 「～しておく」 means to do something in preparation for another purpose. "Do" it and "put" it aside for later use. Therefore often used in the phrase「準備しておく」 meaning "get ready in advance；prepare in advance". As for 「ほうがいい」 - broken headphones reference.
Together - "you had better make a reservation (first, in advance)"
Note: 「しておく」 is to also used in the continous sense to mean "to keep, to maintain" as in 「清潔にしておく」→ "to keep clean, to maintain clean condition"