I think text strings and maps are about the only things you can edit in a mission script via text editing. Doing more than that requires you to get the source code of the mission, edit it, and then recompile. Or, of course, you write your own. (There is a simple-to-use program that lets you write single-player missions. It's called FSME, or someting like that, though I can't remember for sure for the life of me.)
However, is the ship truly hard-coded into the script, or is onlyt the ship *choice* hard-coded into the script? What you could try doing is open the shiplist.txt file in notepad and change the name of the F-CA to F-CAI, and vice-versa. Do the same with the F-NCM and teh F-NCL.
Then load the mission and see what happens. You may now find that you load ships into the game with the name F-CAI and F-NCM, but that they are actually the ships you want.
-S'Cipio