It's actually even more tricky than what you describe.
For example, the word wind that you mentioned has multiple senses—and two of those senses are pronounced differently. The noun for "a breeze" rhymes with win (as you mentioned) but the verb for "to crank" actually does rhyme with wine.
The only way to know which sense of a word is being used is by context. Once you identify it by context, then you have to just "know" how to pronounce that particular sense.
There certainly are some rules. For instance Oxford provides two basic pronunciation guides: one for the UK and one for the US. But there is also a need for memorization and habit where those fail—most often in the case of exceptions.
When I speak, I apply any rules without being aware of them. (Although I do vaguely recall my years in grade school when I was taught some of the basic rules.)
Another problem is regional dialects and accents. In broad terms, one country can pronounce the same words differently than another country. (As shown by the two different Oxford pronunciation guides.) But this is also true of different particular areas within a country—and even different social and cultural groups.
If I were to visit certain places in Wales or Scotland, for instance, or Jamaica or New Orleans (or even English-speaking places in Quebec), I might have difficulty understanding what was being said (as could they have difficulty understanding me). This is despite the fact that we would all be speaking English.