I encountered several problems. For example, why does this not work:
・The girl who has black hair is in the corner
NOT
・The girl having black hair is in the corner

The problem with have is a little complex. First, it's not strictly wrong, it's just stuffy
・Those having US passports should stand in Line A, all others in Line B.
Perhaps to avoid confusion between the many senses of have, we generally

・The girl having a good time is in the corner.
・The girl having a party is in the corner.
These sentences are perfectly fine despite involving the same lexical verbs.

The problem is also not directly related to the shortening of relative clauses:
・The girl who is having black hair is in the corner.
The problem is the combination of the progressive with a predicate that describes a permanent property.
Basically, because the progressive describes temporary situations, it's not compatible with predicates that describe permanent situations.