I have a dataset of several hundred respondents who each answered 100 or so questions having Likert-type responses (e.g., 0 for "not at all" to 7 for "always"). The problem is, as we all know, some respondents tend to answer most questions on the extreme end, for example mostly 5s, 6s and 7s. Or some will never give responses outside a narrow middle range.
My question is, how would one "normalize" these scores?. I've though of converting each subject's scores to a Z-score, not based on the entire group but based only on their scores for the roughly 100 questions that each subject responded to. That way, one subject's z-score would be comparable to another subject's z-score, comparing apples to apples, so to speak. Is this the proper way to do this?