Gullible or not, there is no 100% way to prevent people from leaving during war. It's just not possible.
I think the majority of these posts start because the OP recently got burned by the problem. The key to protecting yourself from wartime defectors is to grow your clan slowly. This provides us with a very dependable core of players who can provide cover for wartime defectors.
Consider the following:
1. We started our clan with 5 dependable friends. Between the 5 of us we can cover attacks on all bases in a 10v10 war. If we tried to push for a 50v50 war with 45 new members we would only be able to cover 1/5th of the enemy bases should all the new members prove unreliable.
2. We do not allow alt accounts in war. If you do you are doubling your potential exposure to wartime defectors. If 1 individual leaves, should be no problem. If 1 individual with 2 accounts leaves, maybe a problem.
3. If you have to entice a new member to join (or stay) with promises of promotions or troops that member is not vested in your clan, they are only vested in themselves. It's best to let those players go be a headache for a different clan.
Everyone wants to be the next Mega Empire but that doesn't happen overnight. Good clans are formed over time and with a lot of work. There are lots of good mature players out there. The way to get them is show that you run a stable clan which is not affected by poor choices mad by a single individual (like a wartime defector)

