IMHO this is more of a packaging issue. If Luarocks had a way to tell if two packages provide the same functionality, then things like loading either LPeg or LuLpeg depending on the environment would become a breeze, same goes for compatible OOP models.
I've said it before, Luarocks should take hints (lots of them) from how ArchLinux's libalpm and pacman do things, because that is a system that work very nicely and is reasonably compact.
Alternatively, why not adopt pacman? It's not pure Lua, sure, but given that most packages already need a C compiler, I think that's not really a problem. One issue is that it's not entirely cross-platform, but it has been ported to MSYS so it's not far either.
So to sum up, having standards for some packages could be a way to go, but if package management didn't suck (sorry @ Luarocks devs) de-facto standards could already work.