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
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.
Some other characters with this problem would be:
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.