Almost no rules, which makes pronouns one of the most difficult things to nail down.
Nanori are for names only, but there are probably a ton of exceptions.
A lot of Japanese use just hiragana in their names. It is less common, but not out of the question, to use just katakana in names. It is possible to have a name that uses hiragana and kanji (みち子 for example)
For place names, usually yes, but there are exceptions where the pronounciation is based on a historical pronounciation rather than the Japanese onyomi of the kanji. The city of Hong Kong is written as 香港, and in Japanese it is pronounced ホンコン, but ホン is not an onyomi of the kanji 香. Beijing is written as 北京, but is pronounced in Japanese as ペキン, but ぺ is not an onyomi of 北.
For personal names or last names, it depends. For personal names, the pronounciation may try to replicate the original sound, as opposed to using the onyomi. Or, there may be a kanji used in a name that doesn't exist in Japan, and so the Japanese will again try to use the sound closest to the original pronounciation.