If it was me, I would just have it as an option in the settings. The user can choose the time of day they'd like to be reminded, or whether they want it to be random between some set hours.
After all, the user already knows that the Abusive Gym Reminder app is, well, going to annoy them with reminders, so why not empower them to choose when?
This would surely have to offer the best user experience.
EDIT
Thinking on this further, if the message is being triggered by the fact someone missed the gym yesterday, then does it really matter what time today it appears?
I assume it'd only matter if someone misses the gym yesterday but then goes to the gym today prior to your notification, because then you may want your app to recognise they've since gone to the gym and therefore it shouldn't send a notification.
Another approach would be to have the user enter the opening and closing time of their gym (assuming it's not accessible 24/7) and then have the app trigger the notification accordingly so that it doesn't necessarily wait until the day after. That is, if the gym closes at 8pm and the user hasn't gone today, why necessarily wait until tomorrow to send the notification? It could be sent anytime between today's closing time and tomorrow's opening timeanytime tomorrow so long as they haven't since gone to the gym.
All things considered it's probably more important to have a user setting for when they don't want the notification.