Good thing used in this context, is signalling a redeeming feature of some kind and the connotation is positive.
Think of it like this:
X is bad, but improved because of Y.
In your example
"He is not handsome, good thing he has a tender heart."
X = He is not handsome.
Y = He has a tender heart.
and in example two:
"It is raining heavily, good thing you brought an umbrella."
X = it is raining heavily.
Y = you brought an umbrella.
The connotation associated with the feature that follows 'good thing' in the context you are using it, is positive. But it is preceded by a negative connotation.
The fact that in your examples the negative attributes are expressed as a matter of fact: "She sings poorly", "He is not handsome", "It is raining". Yet the positive attributes are modified such that they are not only inherently positive but also "good", places the emphasis on the positive attributes in the sentence, so the net effect overall is a positive connotation in the meaning of the sentence I would say, even if it is somewhat belittled by the prior negative connotation.