I share a lot of this experience. My fix for "Lesson 4: GPT is really bad at producing the null hypothesis"
is to have it return very specific text that I string-match on and treat as null.
Like: "if there is no warm up for this workout, use the following text in the description: NOPE"
then in code I just do a "if warm up contains NOPE, treat it as null"