The best basis set I suggest is some Dunning bases (E. g. cc-pVTZ) or some Gaussian basis set like 6-311+G(d,p) (I suggest this for Sulfur-containing molecule), but first you can do some calculations by trying a combination of some functionals and basis set. Maybe you can use some Minnesota Functionals or if your system is not even large, try CASSCF method. Also TD-DFT methods works fine.
I agree with G. Mondragon. In my view, first optimize the molecule using different basis set and methods and compare the optimized geometry of the molecule with the experimental geometry (if x-ray structure is available). Then Select the (best) geometry which is close to x-ray and then do the vertical excitation (say absorption spectra) using different basis sets and compare with the experiment (say absorption spectra). I hope this works fine.
This depends on the power of your machine; the numer of atoms per molecule/s; and the properties of interest. But generally there is better to use aug-CC-pVQZ or one of CBSs with CCSD or CCSD(T). You could try SVP+ as well.