1. A bit of history. If you look at English alphabet, v and z are in the end. In Old Eng, there were no v and z. That means, f and s were voiced intervocalically. Modern English replaced intervocalic voiced f with v. This change is not complete with respect to s/z and voiced/voiceless th.
2. French -ce also introduced widespread random spelling variations: cf advice and advise; mouse and mice
3. Final s inflection occurred more often in Middle Eng than in OldEng. Now you need to distinguish plurals from non-inflected ones: peace vs peas; since vs sins. Epenthesis is another relevant phenomenon you should note here: sin[t]ce vs sins. Epenthesis helps to keep the voiceless. Stress is another trick to avoid epenthesis: con'serve vs ,con[t]ser'vation; American 'prin[t]cess vs BrE prin'cess; Br 'tram,car
4. Lets look at another nasal m. You can see epenthetic p in the spelling itself: Sampson, sempstress, Thompson, resumption,ham[p]ster.
5. Then, you have words like whimsical, clumsy, flimsy, etc, where s is voiced.
6. -ive: cursive, elusive, reclusive, etc. Here < s > = /s/
7. -rsion: excursion, conversion, etc. < s > = /zh/
8. -lsion: convulsion, etc. < s > = /sh/
9. < ss > is another trick used in ModE to distinguish voiced plural s of bras from the voiceless s of brass. This is also used medially: cf. fossil, blossom, brass, crass, gross, grass, etc. Apply another phonological process to get /sh/ from < ss >: cf mission, remission, etc
10. < sl > and <ls>. In AmE, s is not voiced: Wesley, Lesley, Chrysler, Chelsea, Tulsa (OK), else, etc. Grisly has [z] in AmE. In some American Dialects (esp in Iowa), you can hear an epenthetic stop: el[t]se. In Utah, I heard it is common: al[t]so, sal[t]sa, Chel[t]sea, etc. This is an instance where one can speak of General American accent, an accent that has features that exist in major areas of the states, and not worry about features like post-lateral epenthesis like this. The grapheme cluster < lth > also works like <ls>: filthy, healthy, etc.
11. Whether < s > is voiced or not is a feature of the dialect itself in some cases. Cf. greasy
12. This one includes the intervocalic voicing or sibilant softening.
s --> z/V_{V/m}, where the second V is stressed.
Vsm: dismal, plasma, spasm, etc.
13. Whether s gets voiced or not depends on the nature of boundaries. + is an internal lexical boundary. # is an internal word boundary.
dis+ease vs dis#mount
re+serve vs re#serve (in the latter, s is not voiced, and the first vowel is /i/)
re+sign vs re#sign (the latter means re sign that paper)
All words starting with dis- except disease and dissolve have unvoiced s. You can explain it away with #.
14. Someone can still get confused and apply intervocalic voicing in words like bison, venison, Larry Ellison, Allison, Edison, Addison publishers, basin, comparison, garrison, unison, etc. These words are pronounced with voiceless s. Some of these words may have voiced variants as well: unison.
The lesson is this. Either you have to be a native speaker (in which case, you have lots of empirical data and you don't need to systematize what you know) or you need to learn the linguistic and phonological history of English (in which case, you need to have tools to systematize what you don't know).