It does sound like your timing is off. Usually that problem is caused by over advanced timing. But the starter could also be the problem. I would look closely at the wiring to the strter first. Look for any looseness or corrosion. If that is OK, I would replace the starter. Sorry. That may also resolve part of the starting issues. Been a long tome since I worked on any GM products. Working from memory here. Hope it helps.