since that issue doesn't reproduce locally (I think you have a broken custom ship in your pirate style that is causing this)
I decided to see if I could find the problem on my end and got some strange/interesting results.
I had installed GRM recently, then removed it. In case it had anything to do with the problem, I went through all the Designs and ShipStyleSet directories and removed anything that came from GRM. I also deleted all the zip files in those directories to be sure. I then used Steam to verify the files and get back all the right files. I think I took care of everything.
I started a new game and played only to get the tech that allows me to get a Commander. After I got one I found that I didn't have any Snugglers and nobody else had any either. I used the console to give me a Snuggler colony on one of my planets. After I gathered enough of them, I finished a turn except for the Commander. I then saved the game as Privateer Problem 1, just in case.
When I promoted the Commander to a Privateer, the following happened.
1. The game did NOT crash.
2. The Commander was STILL a Commander.
3. When I clicked on the Promote button to try again, the new window indicated I was trying to promote a Privateer. So, is it a Commander or a Privateer?
4. When I tried to attack a trade ship, I was informed that I couldn't declare war on that race AND that I couldn't declare war on that race because my government wouldn't allow it.
I wondered if:
1. There is still a problem with my files.
2. There is a bug in the game causing this.
3. Governments that don't allow declarations of war also don't allow Privateers.
4. Something else is happening.
I decided to keep playing until I could change to a government that allows declarations of war. It took a while because my ungrateful citizens voted against my party and I had to endure a coalition government. While I was waiting I made two more Commanders. I used one to get experience in a fleet by destroying a pirate shipyard. When I was finally able to change to a government that allows declarations of war, I saved the game as Privateer Problem 2, then promoted the Commander with experience and the one without experience without a problem. This indicates the lack of experience isn't the cause.
So, what is going on here? Do governments that don't allow declarations of war prohibit Privateers? If so, why did the promotion partially work? Is it something else?
The two saves are available here if you want to see what is happening.