i personally do not think in those terms, to me they are nothing more than "good vs evil" style binary thinking, moralism defined. also, "hero" has a bit of a structural, hierarchical connotation to it. villain just seems synonymous with boogieman.
but there can be a bit of nuance. this is rather similar to the "authority vs expert" discussion. which really points to the question of reified/static roles vs dynamic, adaptable relations.
anecdote: i have a good friend whose drunk son led a sheriff's deputy on a high speed car chase (very rural). after dumping the car and sitting under a tree waiting for the cop, he actually fucked that cop up and got away (only for a while of course). he was a small guy, but he happened to be the state high school judo champion. that kid was a disaster waiting to happen, but in that moment... i'd be using the word loosely, but i could see calling him a "hero" of sorts.
i guess i would prefer to use more descriptive terms like admirable, instructive, helpful, ...