I find myself acknowledging that we all make mistakes for the second time in as many posts...
Sure, someone's moral character isn't a black-and-white question. People aren't really "good" or "bad" in absolute terms, so in a sense calling anyone a "good person" or a "bad person" can only ever be a generalisation based on the balance of what they do.
In this case, however, if someone repeatedly does very bad things, they'd better also be doing even more very good things to make up for it, or I think it's fair to apply the "bad person" label.