Generating geometries for substituted molecules
For most of the geometry creation/manipulation I do, I use the Atomic Simulation Environment (ASE) - all in python.

It's pretty straightforward to use and has a gui so you can make sure you're doing the right thing as you go along. In particular, I'd recommend playing with it in a jupyter notebook. 

Checkout https://wiki.fysik.dtu.dk/ase/tutorials/manipulating_atoms.html for some examples. 

The ASE also has a dataset of existing molecules that you can import and add to your structure in various places.