Besides common repos like EPEL, it make sense to add module specific repos in a dedicated class inside the module (in my current modules I place all the extra repos in the apt and yum classes, but I think it's better to include repos in the same module that needs them.
To manage interoperbility issues I think it's enoguh to hadd a repo_class params with defaults to modulename::repo but can point to custom (or undef) classs.