The shunning practice needs to be tweaked for sure. However, in many instances, this type of treatment is absolutely necessary. I take it as a case by case scenario.
No, it's never really necessary especially between family members. JWs are grownups with their own minds if someone has done something truly reprehensible they can decide for themselves to not associate with that person. That is different from disfellowshipping which is forced upon the congregation.