My vote goes to option 2. It might be hard to find initially, but both the user and the software will always know where it is (after they find it once).
I don't like option 1 because I don't see it as being very portable. I don't like option 3 because it introduces the possibility of user error (typo, etc) during install, and it's more of a pain to install. I like no-fuss, no-muss installations and I'm sure I'm not alone. I actually don't mind option 4 very much, but it seems that's not your favorite. Option 5 I think is the worst solution, as you don't want to keep changing the module source just for a config change. Not only is that a big problem if your module gets released into the wild, but also it introduces the possibility of inadvertantly creating syntax errors in the code.
---
It's all fine and dandy until someone has to look at the code.