You can use the scheduler with any existing feature. (There is both a SCHEDULE_TASK and a DELAY_TASK message for that). As the scheduler stores sets of messages to be replayed at a given time one can safe some bytes of RAM by integrating a delay into a feature-specific message. See e.g. 'OneWire COMMAND request' https://github.com/ntruchsess/arduino/blob/configurable_onewire_scheduler/examples/ConfigurableFirmata/OneWireFirmata.cpp#L130 that may optionally include a delay (which only makes sense when being used in context of a scheduled task).
Features that would benefit most are these where a typical usecase involves replaying certain commands (including delays). I2C is a good candidate as there are circuits that require e.g. a write to a specific register to trigger a A/D-Conversion before you can read the result. One might extend the I2C read/write request to include a delay (there's bit 6 of message byte 3 marked as 'reserved' that may be used to indicate the inclusion of a delay).