Hi Adam
Sorry to hear about your experiences - a couple of recommendations.
1. You can check that you only want verified guests - so they need to provide passport/driving licence - not in anyway a failsafe but I prefer having a confirmed ID
2. Don't have openbook - gives you too little control over who stays
3. Converse with your guests before you accept them find out what they do, their interests, what they plan to do while they stay with you - you can tell a lot about people through this. If they don't want to provide background for me it raises a red flag. I always get them to agree check in and check out times in writing before I confirm their booking.
4. If you have an agreed check out time and they refuse to leave by then will BnB charge them out of the deposit you take (I do hope you have checked a deposit on your listing)
Fortunately apart from my first very horrible guest - all the rest have been lovely and I have learnt from that experience and spend time getting to know a guest before accepting a booking.
5. If someone arrives three hours early you don't need to let them in - I'm sorry to hear they complained this is terrible
6. Please leave a factual review so other hosts don't get burnt by these guests. If there were good things about the guests such as leaving the place clean do say this but highlight they arrived three hours early and complained to BNB when you weren't there to meet them and that they left XXXX hours after agreed checkout time despite you requesting them to leave on time (if that was the case).