Measuring the activation time of a solenoid
I'm wondering if there are other approaches which I haven't thought
  of.


Idea:

If you superimpose a small high frequency AC signal on top of the DC that drives the solenoid, you can infer the inductance change from the inactive to activated position. When the armature is activated, the coil inductance is usually (and measurably) higher.

The high frequency signal needs to be high enough so that one cycle provides enough time resolution but not so high that eddy current losses swamp that signal amplitude change. Feed the signal from a signal generator via an impedance that is nominally the reactance of the coil to obtain optimized signal amplitude change.

Your signal amplitude should be chosen so that its nominal amplitude barely affects normal DC operation. You might also need to DC feed the solenoid via a small impedance so that the power supply used for activating the solenoid doesn't significantly attenuate the AC signal.

A bit of experimenting might be required.