Attiny85 and Atmega328 for RC projects
Firstly, make sure you've not got the "CKDIV8" fuse set to 1, this will reduce your actual instruction clock rate to 1MHz if you're using the 8MHz internal oscillator.  This is the default state of the ATTiny85 chip when it leaves the factory.

Furthermore...

You can set the internal CPU frequency to 16MHz (refer to "Table 6-4" in the datasheet) using the following fuses in the programming dialog...


EXTENDED = 0xFF
HIGH = 0xDC
LOW = 0xC1


You can type those numbers in hex into the 3 text fields in the "Fuses" section of the device programming dialog, doing this will automatically refresh the list of checkboxes corresponding to the full set of fuses in the device.

If you adjust your code to compensate for the higher frequency, this might be enough to give you better pulse timing resolution.

I use these fuses when I'm driving NeoPixel LEDs, which require rather fussy and tight timings.

Alternatively as you suggested, you can simply use a an external crystal oscillator of up to 20MHz.  As always, follow the datasheet and you'll be able to do this.