If you're making a package, it does depend somewhat on the distro you're targeting. You can follow the Filesystem Hierarchy Standard. Debian follows FHS, with some exceptions. Essentially:
/etc: Host-specific system configuration/usr/bin: Most user commands/usr/lib: Libraries for programming and packages/usr/share: Architecture-independent data
On Debian-based systems for packages that support multiple architectures, the architecture-independent data is often split off into a separate package.
See, for example, how apache2, apache2-bin and and, apache2-data and apache2-doc packages on Ubuntu are organised.