Definitely charge them, in advance if you can. I had the same problem usually with people who pre-booked more than one place so they didn't have a set travel distance.
I know charge them a week in advance, non-refundable.
I had this problem some years ago - people booking about 11pm and the arriving 5 minutes later, totally unexpectedly. I was in bed and as booking was not prepaid sent them away.
Now I have policy that guests must book minimum 2 days before arrival. Seems to work okay.
Child rates, and bookings for children, are a big problem with booking.com. I usually offer special child rate for children 12 and under but anyone including a child on a booking with booking.com gets them for free!
Plus sometimes its not really a child eg a 17 years old and stayed for free!
I let all guests know that if I am not at the house when they arrive the key and a note will be under the front door mat. Same applies if they arrive after I have gone to bed. plus I leave some lights on.
Unfortunately some people arrive around midnight, or even later, and then ring me up without even looking for the key!!!
I iron sheets on the bed! Put the sheets on and tuck in tightly then run the iron over them, add the blanket and then iron the fold down bit. Iron all pillow cases when the come off the clothes line and just keep unfolded.
I use Square but unfortunately booking.com only lets me charge on arrival. Despite this I can access the credit cards details only a few times for a few days after the booking is made so have to print it and then charge if guests don't turn up. Several times guests were no shows but had stopped the credit card.
Its a stupid system - booking.com should take the payment and then forward to us less charges. Airbnb does this and it works really, with MUCH lower commission.
Unfortunately booking.com doesn't let me, not even a deposit. Its instant book.
I have had several no shows with the credit card blocked and booking.com did nothing.
And as I also use other sites such as Airbnb, which does take payment for me, I have to be very quick to update calendar and avoid double bookings.
By the way how do you manage bookings made through booking.com with this system (The Booking Factory)?