Each person is ignorant between 2 possible states, but each is ignorant between the correct state and a different incorrect state.
We need to partition states so that some (minority) of states are "special" so that if anyone is ignorant as to whether the state is "special" they will guess they are not in the special state, and if they know it isn't "special" they all stay silent. That way we will lose if the state is special, but will win if the state is not special but someone is ignorant about whether it is special. (What someone does if they know the state is special is not specified, but we're doomed in this case anyway since others will guess wrong).
Ideally, we need it to be the case in all cases there will be at least one person who is ignorant as to whether the state is special, so that you go free unless the state is special. Then we want to make as there be as few as possible states that are special.
If we imagine the hat arrangements as vertices on a 4-dimensional hypercube, then we want each non-special vertex to be adjacent to at least one (and as few as possible) special vertices. So, the question is, what is the smallest number of special vertices we can use?
So I tried drawing this (with a pair of cubes to represent a hypercube) and it seems you need 4 special vertices (if you only have 3 there are two vertices that are not adjacent to any of them).
Let's just start with
1) all white hats
being special. Then the other special states can be:
2) prisoner 1 has a white hat and all others have black hats
3) prisoner 2 has a white hat and all others have black hats
4) prisoner 3 and prisoner 4 have white hats and prisoner 1 and prisoner 2 have black hats
All other states are within 1 of at least one of these states, so if everyone follows the strategy, someone will always be ignorant as to whether we are in one of these special states, and we will win if we are not in these 4 states, which is a 75% chance of winning since there are 16 possible states.