I would check engine angle with an angle gauge. I would then check the pinion angle. They need to be the same or within +/- 1.5 degrees of each other. There are angled shims available to adjust the pinion angle to match the engine angle.
It sounds like you need new u-joints. Don't get cheap and only replace just one (this urge haunts me constantly

).