viir!
dhaar ko kaaTe re chiir dhare sannaaTe re
jab viir bhare xuunkhaar re ...
(from one of the Dabbang's, don't remember which one

)
Weer is an interesting one. In Urdu/Hindi it means protector but in Punjabi it means brother and thus Bollywood tends to mix the two meanings up quite a lot. At least so far as songs are concerned it is used in the latter sense more. Therefore, it would be relatively ambiguous. Wow, I never realized the film naayak's title meant hero, it's a shame Hindi-phones don't use it much. It could catch on. Usually, you tend to hear Film kaa hero or heroine. Funny thing is heroine is pronounced as hero+in by both Urdu and Hindi phones.
The term "يل yal" is used in Persian as well for the meaning mentioned in the OP, considering that it has some dated feeling with it to my Persian ears.
My suggestions:
Heroes: پهلوانان
Villains: اشرار
Fantastic suggestions. Pahelwaanaan/Pahlwaanaan/Pehlwaanaan/Pahlawaanaan in Urdu would largely be understood for wrestlers but as is the case in Persian we do have the following definition.
1)
پهلوان pahlwān (
p. 289)
P پهلوان pahlwān (for pahlav-ān; see pahlav), s.m. Hero; champion; athlete, wrestler, a stout and sturdy fellow.
A lot of the above are fairly dated, however. Today if you call someone a Pahlawan more often than not it means wrestler, athlete or strong fellow. I wonder which definition is dominant in Persian (Irani or Dari). Dated or not it's still usable since pahlwaanii/Pehlwaanii/pahlawaanii does mean heroism.
شرار too is fantastic and in Urdu would mean the wicked and thus is easily transferrable. I wonder what terms are currently in vogue so far as the Persian film industry is concerned. Also how would you distinguish male heroes from female heroines and potentially the same for a villain and a villainess?
Relevant thread (yal and other terms were discussed): Urdu, Persian: champion
Hero:
- ہیرو؛ مرکزی کردار
- بطل | بطلہ ؛ جمع: اَبطال
- نایک | نایکا
- وغیرہ
Villain:
- ولن؛ منفی کردار
- بدمعاش؛ کمینہ؛ شریر؛ وغد
- وغیرہ
Antagonist: مخاصم، مخالف، حریف، رقیب، دُشمن، وغیرہ
Other words, such as دلیر، پہلوان، رستم، مردِ میدان، غازی، وغیرہ are used in different contexts (sports/bodybuilding, battles/wars, etc.) that would probably make their usage to describe the hero in literature, film, etc. odd...?!
Plural forms are requested in the opening post and title (heroes & villains) and the Arabic-derived words have distinct plural forms. Therefore, ابطال و اشرار could be one possibility if highlighting plurality is desired. Otherwise, the more common terms could be used.
Note: Apart from the English terms, مرکزی کردار، منفی کردار، بدمعاش appear to be the most commonly used in Urdu.
I did indeed have a read. I'm not quite sure why you are discounting yal from the frame merely because it means champion too. As always I thoroughly enjoyed your contribution. But just as an FYI Arabic doesn't distinguish between a champion and a hero either. Batal and Abtaal in Arabic mean both champion/s and hero and heroes. For instance, the football competition Uefa Champions League is translated as Abtaal-Aurobaa or Abtaal Al Aurobaa.
Thence, yal which is defined as follows: P يل
yal [by aphæresis, fr. Zend vīra; S. वीर], s.m. A hero, a brave man, warrior, champion, an athlete: —
yal, or
yal-shal, adj. Corpulent, stout, strong, robust. and
yal
यल•یَل
Origin: Persian
Vazn: 2
- braves, chivalrous,champions, heroes (of love), athlete, warrior,
is definitely a candidate.
For romantic films or superhero films how about Yal-Yaar/aan for the hero/es. Considering the hero is also always the Yaar i.e. beloved. You quite often hear premii or premii-yaar for a beloved so the alliterative yal-yaar would work a treat, the beloved masculine hero. Another rhyming alternative that comes to mind is Pyaar-yaar and pyaar-yaarnii for a heroine. The latter two could be used for lovers in general as well.
For Villians Ashraar does work well. Female villains could be Shareeraat with the singular being either a shareera or sharran/sharrnii given that the male equivalents are shareer and sharrii
Heroines. How about yalnii/yaaN? If not, batala/aat.
Appreciate everyone's contributions. Apologies for the late response, I wanted to make sure enough time was given for comprehensive responses to come through.