for 6-axis robot there are 3 singularities.
alpha1 - when root point of the wrist is directly above/below robot A1 rotation axis. this space is a line and easy to avoid.
alpha2 - when arm is stretched out. this space is a hemisphere. this space near reach limit and easy to avoid
alpha5 - when A5 axis is at zero (wrist singularity). this can happen anywhere inside robot working envelope and it is usually the only one that may give you a problem.
different workarounds exist... change orientation of the tool slightly so that A5 is not at or near zero. use orientation control that is less stringent (WristPTP) so that robot can navigate through singularity on its own. Use PTP motion to get through singularity - there are no singularities if robot is moving in PTP, so if needed replace part of path by PTP motion (on a short enough segment, this will be nearly linear). try one of strategies that your controller software offers. redesign cell - move things around so that they can be reached without hitting singularities (move robot, change tool mount, move fixtures around the robot, choose different robot....).
Thank you very much. I think I know how to deal with the alpha1 and alpha5 conditions now.