I think Kevin's suggestion is likely to be a productive one. GAP has good routines for counting conjugacy classes of representations to a large number of finite groups.
A similar strategy you could use would be this sequence of steps:
1) triangulate the complement and simplify the triangulation. I would do this in SnapPy since its triangulation-simplification code is quite nice. http://www.math.uic.edu/t3m/SnapPy/
2) Export the triangulation to Regina http://regina.sourceforge.net/
3) In Regina, double the 3-manifold and compute Turaev-Viro invariants of the corresponding closed 3-manifold.
The nice thing about these steps is you could do them all in a python scripting interface. They're also very robust. Kevin's suggestions are quite robust, as well. It's not clear to me if one technique would have any advantage over the other.
edit: The above three steps are relatively fast. Turaev-Viro invariants come in a sliding-scale, so you can choose the order of your invariant based on how quick you want the computation to be.
In the near future we'll have Alexander polynomial and module computations available in Regina, including things like signature invariants. Much of the code is written but I want to spend some more time extending the code and ensuring the code is bug-free before release. There are also a lot of other code you could use in Regina, like unknot recognition. But that's computationally quite expensive and you wouldn't want to use it on a large collection of knots.