Totally direct and honest but very polite and friendly about it. I was rejected this way and although it was rejection, I didn't walk away from her feeling bad, she made me feel good still and I didn't regret asking. I've never forgot that about her because nobody ever rejected me that way and it was very much appreciated.
I'd prefer direct and honest but I understand human nature well enough to not expect that to happen. People are in a quandary when rejecting someone's advances, they don't want the attention but they don't want to think of themselves as a harsh or cruel person so they avoid.
I've never had an advance rejected possibly because I don't ever put a girl on the spot. There are lots of ways to make sure your invitation will be accepted before ever making it. It's true you may miss out on some opportunities with shy women, women met in passing or women who aren't good at subtle communication (there are some) but that's life.
I feel like most guys prefer either an honest answer, or a lie to spare their feelings. This is why it's so hard to reject a guy, because if you're brutally honest he might complain about you being a bitch. If you lie to him, he might complain about getting a generic excuse. So it's often lose-lose if you happen to pick the wrong approach. :/
I think it's only respectful to be honest and let him know that unfortunately you don't think you're a good match. Yes it will probably disappoint him, but flaking out on dates or ignoring texts is horrible and probably a more hurtful option.