You could send transactions with an nLockTime equal to the subscription due date. (nLockTime is an already-existing feature that prohibits a transaction from being accepted into a block until a certain time.) Send this transaction to the service a month ahead of time, and then you don't need to be online at the payment time. You can cancel it at any time.
Cool. So I can run miners out of disk space by just creating a zillion transactions with nLockTime 10 years in the future and they'll all have to store all of my transactions for 10 years?