I have been involved in the hotel business for 10+ years. Most hotels will require a c.c. to pull funds out of if the customer steals something, or they end up staying hours after the check-out time, buy movies, buy upsells, etc.
The fact that you can't pull money out of someones bitcoin account will make it incompatible.
It was an independent hotel that I worked in that still took cash from a lot of the customers. About 20%, the average age of the clientele was 60+.
Googling shows that what you say is true in most cases though, especially in the US.
I don't see how having a card on file really prevents someone stealing/trashing the room and simply not having enough money on their card to pay for it though.
I guess the best method for btc is some form of deposit then.