Definitely book in advance, much cheaper. We go every year and would never take a chance on arrival. When we went last year we had a 24 hour delay going out and on arrival at the car hire collection point another family we were talking to had accidentally cancelled their whole booking when our flight was delayed, instead of asking for it to be a day later. They ended up being charged nearly double for the same car because it wasn't booked advance'. Most car hire companies, ie Alamo, Herts are based at the airport, just across the road in the car park but there are still a few smaller ones that bus you out.
I'd be very wary about the insurance policy you have, I very much doubt if that will cover CDW so check carefully. Also, HUGE warning here as I've seen so many people get stung here, make sure you book the insurance you need in advance, you MUST have CDW. A lot of the other insurances you don't need. The (bastard) agents when you arrive will try to push you into buying additional insurance which you don't need and they rely on you being knackered by the time you get there and just signing anything. It is often only the next morning (usually at 5am due to time difference) that people realised they've been 'done' and its too late then, you can't cancel any additional insurances.
If you need car seats, think about taking them with you. I've known friends be charged more than the cost of a car seat to hire for 2 weeks.
Also, another tip, if you are flying say, Virgin, who do a lot of fly drive packages, try to find out which car hire company they use. The last thing you want when you get off the plane is to find pretty much everyone else who was on your flight queuing up at the same desk as you so try to book a different company.
Another tip, I always pre-pay for a full tank of fuel, saves pissing around when driving back to airport to return car to try to fill up as you get to the airport. They charge a lot more (sometimes considerably more) at the airport petrol stations so if you pre-pay, it is cheaper and you don't have that hassle and can just return as empty as you can.
Hope that helps.