I'm making an application that analyses one or more series of data using several different algorithms (agents). I came to the idea that each of these agents could be implemented as separate Python scripts which I run using either the Python C API or Boost.Python in my app.
I'm a little worried about runtime overhead TBH, as I'm doing some pretty heavy duty data processing and I don't want to have to wait several minutes for each simulation. I will typically be making hundreds of thousands, if not millions, of iterations in which I invoke the external "agents"; am I better of just hardcoding everything in the app, or will the performance drop be tolerable? 
Also, are there any other interpreted languages I can use other than Python?
For millions of calls (from I'm assuming c++, because you mentioned boost) into python, yes: you will notice a performance hit.  This may or may not be significant - perhaps the speed gain of trying out new 'agents' would be greater than the hit. Python does have fast numerical libraries (such as numpy) that might help, but you'll still incur overhead of marshalling data, calling into python, the gil, etc.
Yes, you can embed many other languages:  check out lua.  Also, check out swig.org, which can connect to many other languages besides python.
Selecting An Embedded Language