I'd recommend using a stepper library like the AccelStepper library to drive the stepper, no need for any PWM hardware at 70Hz, that's 14285µs per step, ie glacially slow from the point of view of a 16MHz processor.
To time the input waveform using interrupts makes sense as this won't be blocking and allows good accuracy. The input capture unit for timer1 is also a good approach.