Is there some sort of logical rule for when 血 is xuè and when it is xiě?
The standard Chinese dictionary (《现代汉语词典》) lists xuè (fourth, not third, tone) as the official pronunciation and xiě as a colloquial variant. As such, in most compounds and technical terms, xuè is preferred. The pronunciation xiě is acceptable when you just want to say "blood" in casual speech.
There are several exceptions: the two modifiers 血糊糊 (xiěhūhū, "covered in blood") and 血淋淋 (xiělínlín, "gushing blood") are never read with the xuè pronunciation. There is also a word "血晕" the meaning of which differs based on which pronunciation of 血 is used.
血晕 (xiěyùn): to bruise
血晕 (xuèyùn): a traditional Chinese medicine term for fainting after childbirth due to loss of blood.
Note that this is only what the dictionary says. I suspect many native speakers make different choices in their own speech.
Actually, such a problem even upsets native speakers, like me. When I was a student, I had to memorize the words for different pronunciatons too.
Unfortunately,there are some characters with two different pronunciations when used in colloquial language (白读) and literary language (文读), while different pronunciations basically mean the same. See the article in Wikipedia to learn more info about this special phenomenon (in my dialect, there is also such a phenomenon, but I really don't realize it because I have been used to these different pronunciations). 血 is a typical one.
xiě blood. Generally used as a single word and used in oral speech(words with this are not literary, are coarse or vulgar).
xuè blood Generally used in a literary words.
xiě 血淋淋 (bloody,cruel), 血豆腐 (a kind of food looks like bean curd, but made of blood), 血糊糊 (bloody), 他流了很多血 (He bleeds too much)
xuè 止血 (to stop bleeding), 流血 (to bleed), 血腥 (bloody), 血型 (blood type).
Some other characters with this problem would be:
薄 báo, bó. thin, with small thickness
báo is used in colloquial language and bó is used in literary language.
壳 ké, qiào the shell
ké is used in colloquial language and qiào is used in literary language.
Take it easy, you could consult the dictionary when you are not sure. If you want to speak Mandarin in a very formal way, you have to try to memorize the words for different pronunciations.
To what I have been taught in schools or even chinese dictionaries I flipped...the only correct pronunciation for the word blood is Xiě.....while Xuè is represent Snow.
Hence it is depending on the individual on their level of acceptance and understanding of the language and/or words.
For myself, I will only stick to my foundation laid...that is blood is xiě and snow is xuè.
There is no grey area and to me, no justification of when where xuè is used in formal or informal.. spoken or written etc.
This is important as there is no grey area in languages especially for those trying to learn the language.
Just as an example : it couldn't be that we use "yes" as "no" in certain area or usage for English...can we?