I was thinking about two particular words "Tsunami" and "gnarl". Both of them seems almost impossible to be pronounced by me (the ts and gn part). I guess this is because my tongue is not habituated with pronouncing such constructs. So I can keep "t" in "Tsunami" and "g" in "gnarl" pronouncing as "silent letters" in my utterance. Now the question arises how can I know if a letter in a word is silent or not? Is there any way to guess it if I have no dictionary in my hand at that moment?
In the general case, it is impossible to know for certain the mapping between graphical units — letters — and sounds in the English language. That is simply the way it is.
In the specific case, there is no English word that starts with /ts/ or /gn/, because that sequence cannot occur in that position in English. Therefore the first letter of each of those two pairs is always silent.
There are enough of these specific cases that a given native speaker stands an excellent chance of guessing the same pronunciation as some other native speaker will guess. And therefore this indeed a system to it all.
It just takes a very long time to learn if you are not born to it.
I have a list with words with silent letters from an old English textbook. I keep adding on them. While the classification is not exhaustive, it is giving you insight, because you can group as below. You also can do the same - make such a vocabulary list. I give few examples for each group.
--silent b words: lamb, climb, bomb
crumb, thumb, plumbing
--silent g words: gnaw, diaphragm, phlegm
align, benign, sign
--silent gh words: high, eight, neighbor
delight, fright, tight
bough, though, caught
--silent h words: ghost, honest, hour
rheumatism, rhyme, rhythm
--silent k words: knee, knife, knack
knob, know, knock
--silent l words: balk, stalk, walk
calf, half, could
--silent n words: column, autumn, solemn
--silent p words: pseudo, psychologist, receipt
--silent w words: who, wrap, wrestle
write, wrong, wry
--other words with silent letters: handsome (d), vegetable (e), business(i), aisle (s), listen(t)
Note: 1) In general if a base word has a silent letter, its conjugates keep the letter silent, and conversely. Example: stalk->stalking
But there are some exceptions: Example: black (ck not silent), blackguard (ck is silent)
2) some words can be pronounced in both ways. Example: tsetse, calm (with l silent or not)
3) some words are quite unusual: corps (ps is silent), colonel (l silent with rhotacization)