I think people got upset over Hook hitting Belle because she is a genuinely caring person to those around her whoever they may be. She is an innocent character in the same way that Henry is. A character can’t deliberately hurt Henry without being considered evil. Likewise, when Hook hit Belle that dropped him into true villain territory.