This is something I wrote in another thread:
"Kanji that have okurigana (affixed kana for inflections etc., typically in verbs, adjectives or words derived from such) almost always have "kun" readings. Single-kanji words with no okurigana often have "kun" readings, but not always. Compound-kanji words with no okurigana (typically nouns) most often have "on" readings, but not always. The more common the kanji, generally, the more different readings and special cases there are. Some kanji also have special "name" readings (nanori), used in proper names."
Toritoribe may correct me on this, but I would guess that 80-90 percent of kanji compounds (assuming no associated okurigana) are pronounced as "on" readings for each kanji. For many kanji there is only one common "on" reading, so in many cases it's pretty straightforward to guess the pronunciation of the compound. For some kanji there are two or more common "on" readings, and then you have to know which one. And finally there are the special readings and ateji and stuff where you have to learn each case individually, but fortunately they are in a minority.
Names are a different thing, and a bit of a nightmare, and I think even native speakers often can't be sure how to pronounce a name from only the kanji.