If the front shaft is a double-Cardin type (looks like two u-joints back-to-back at the transfer case), then the drive shaft and the diff pinion axis should be on the same axis.
Again, remove your front shaft and take the Jeep for a spin. This will eliminate the front shaft as the culprit. Adjusting the angle between the shaft and the diff pinion is problematic. Rotating the pinion up to align the shaft results in less caster. You probably can decrease caster to about 4.5-5* positive and still be alright. So put an angle finder on a flat surface on the front of the axle housing (that flat area on each side with the large hole, will work fine) and measure your angle relative to the the ground. If you have recently had an alignment, you should know what your caster is currently set to. Consider the angle you read from the front of the axle as a proxy for the caster. Meaning, if caster is 6*, based on a front end alignment, and the angle off the front reads 10*, then if you adjust your pinion up 3*, you should measure an angle of 13*, implying you lost 3* of caster. The proper way to correct bad pinion angle is to cut the inner "C's" loose from the axle and adjust the pinion angle first. Then rotate the "C's" to get back to ~6* caster. The only shims that are used on XJ's are placed behind the LCA's, causing the bottom of the axle to rotate, adjusting caster; unfortunately, as discussed above, this also changes pinion angle as well.