There are a few common words like "listen", i.e. with "st" where the vowel before the "s" is stressed, but the vowel in the following syllable is unstressed. Other examples include "fasten", "Christmas", "whistle" (and of course derivations: "whistling", "Christmassy" etc). The word "often" is an interesting case with two alternative pronunciations (the "t" may or may not be pronounced).
If you know enough about English phonology, then another rule of thumb is that if you have two or more consonant letters next to each other which "don't fit" with the phonotactics ("usual combinations of sounds") of English, then one of those consonants almost certainly isn't pronounced. For example, there's no word in English that has the combination [mb] in the coda (final part) of a syllable. So in the word "comb", one of the final letters must be silent. (Contrast with "combine", where the "m" and "b" are in different syllables, and both are pronounced.)
However, in general, the problem with silent letters is that they really span a number of categories, including some cases where the letter in question was just arbitrarily inserted. For example, in the word "debt", the "b" has never ever been pronounced in English, nor indeed was it in French when the word was borrowed into English: the "b" was simply arbitrarily inserted in effect to "remind people" of the Latin word 'debitum' (from which "debt" only indirectly dervies). So inevitably, there will be some cases that you have to "just learn".