I made an attempt to install graphite in a different location by overriding the node.graphite.base_dir attribute, however, this had little effect. On line 42 in carbon.rb it calls the command "python setup.py install" without any arguments that specify the base_dir and therefore defaults to /opt/graphite regardless of what you change the base_dir too.
i do not know if there is a way to pass that in as an argument, but alternatively, creating a template for the setup.cfg that incorporates the base_dir should do the trick.
i will write a patch to do so when I find the time, but I figured I should file an issue anyways, so it is at least catalogued.
merged, thanks @kmcminn