Sounds like the IAC might be sticking. Try removing and cleaning it, or simply replace it.
My other thought is your fuel pump checkvalve is bad. Try turning the key to ON for 3 sec (listen to hear the fuel pump "prime"), then Off, repeat x3, THEN crank and start it. If THAT helps your idle stabilize, it's fuel starvation. You can replace the fuel pump to fix that, but turning the key on/off a few times is free.
I'd physically check all the grounds for the starter problem- block to battery terminal, battery terminal to chassis, etc. If the positive side needed replaced, so does the ground side. I've seen some vehicles that use a starter mount bolt as a ground lug.
You could test with a good jumper cable: Connect one end to the neg bat terminal and the other to the starter case. If that eliminates your starter problem, you have poor grounding.