For a subscription that you just want to run during a set period of time each day, I just created the subscription to run hourly, then modified the SQL Agent job for that subscription and set the start/end times there. (The SQL Agent job has those two values to set on timing while the GUI for the subscription doesn't). This worked like a charm for me for years and was very easy to manage, no modifying stored procs.