I use the (paper-based) Cambridge English Pronouncing Dictionary (hardcover)
It gives you the pronunciation for inflections such as past tense, continuous form, plural. Also, people and places names.
The rule for past tense "ed" of verbs is:
- "d" after voiced consonant or vowel (sagged)
- "t" after voiceless consonant (cracked)
- if the verb ends already in "t" or "d" (panted, faded) it is followed by ɪd or əd.
The plural parallels the past tense:
- "z" after voiced (bags,pads)
- "s" after voiceless (trucks,cats)
- if the word ends up in "s", "z" or a fricative such as "sh","ge", "ch", it is followed by ɪz or əz. (houses,buzzes,crashes)
The reason for adding a vowel is the need for transparency; without it the sequences [s+s],[z+z], [t+t], [d+d] would not be heard well. Historically, -es, -ed were separate syllables in all instances(*); the vowel was lost only in cases where the transparency was not endangered. English Words, P.Stockwell,D.Minkova
(*)e.g."...and wordes tho/That hidden pris now wonder nyce and straunge/Us thinketh hem..." from G.Chaucer, Troilus and Chriseyde.
The same principles hold for possessive: see the answers here. It is nice to see English pronunciation is not so random as thought to be.