This may be a bit basic,
There is a tool called 'Linear Directional Mean' that will create and populate a compass bearing field with the mean direction of a shapefile/featureclass or, if you use a unique field, for each feature.
As far as I can tell it is planar rather than geodesic but it's a sound, quick fix and saves coding trig.