I have had this problem in the past but I have come up with a good way to combat the problem. Read on but don't tell everybody as the more people that use this method the less effective it will become.
When they knock on the door you could sing out "There's no one home"......that might fool them and then they will go away. If you tell them straight out that you aren't home they won't even need to look in the windows or wait for you to come home......um, I wasn't thinking this through too well.....how about you sing out "There's no one home and we have moved so don't bother waiting for us to come home because we won't be here ok?".......once they reply...."ok, thanks for letting us know and saving us time, we will be on our way then...thank you".....then you know you are safe and have totally succeeded in fooling them.
Just a word of advice though...the trick works better if you disguise your voice.....if things get desperate and go wrong then just tell them that you are thieves and that you promise not to take anything if they leave straight away.....that should do it.
Let me know how it goes
Dyar