KEEP YOUR HEAD STILL.
It may not be that, but that's among the best advice I've ever been given to a straight stroke. A slight movement in the head gets magnified through the body. I had such an issue with this when I was a kid that my instructor made me wear a neck brace...unorthodox, but effective.
A few other little gems I stumbled accross are a slow, I mean very slow backstroke, over exaggerated pause then accelerate through the CB when practicing. Keep the slow backstroke and lessen the pause slightly when playing for real.
Loosen the grip. Your grip gets tight, your whole arm gets tight and your stroke becomes jerky.
Also back in the day, i had to stroke up and down with my cue against a wall. Bridge hand at full stretch as high as I could reach on the wall and stroke 100 times before I could hit a ball. Supprisingly it worked wonders.
Like others have said, hit a striped ball and see if the stripe is vertical when it comes back. If not its easy enough to work out what went wrong. Try some dead straight draw shots with a stripe as the CB. If it draws back dead straight with a vertical stripe then great, if not you can tell where you went wrong.
The best wayto a straight stroke is first finding out where you are going wrong. That makes developing a consistent stroke much, much easier.
I would go and take a few lessons though. An hour or 2 lesson will be more beneficial to you than 10 hours trying to resolve it yourself.
Good luck.