There are lot of suggestions around what should be checked and what could be done. But what is appropriate depends very much on the situation, the method and the implementation...

* if the system gets close to a conical intersection with the ground state can be detected by unusual small excitation energies and slow convergence for the ground state SCF, CC2 or DFT calculation. I would say, whenever the lowest excitation energy drops below 1 eV, one must doubt that single reference methods are appropriate and should check if doesn't face a serious multireference case for ground state....

* slow convergence in the calculation for the excitation energies is usually due to either a very poor start guess or near degeneracies between excited states of the same symmetry. In the later case one should try to include all close lying excited states (since there eigenvectors usually mix a lot). During geometry optimizations one can detect such situations usually either by small gaps in the excitation energies (f.x. in previous iterations) or strong changes in the most important contributions to the eigenvectors (printed in the output). Also root flipping due to jumps over avoided intersections can be detected this way. In that case it is often helpful to compute some intermediate points between the last structure before and the first structure after root flipping to check what is going and what is a good point to restart the geometry optimization. Sometimes it helps to restrict the max. steps size for the geometry optimization.

Clearly, there is not 'one recipe'. It's true research. Trial and error.

Christof