TL;DR - just read the bold text.

I purchased my first ball python on December 29th, 2019. He was about one month old. I've owned him for about 4 months, a little less than that. When I first bought him, he was the most finicky eater I've ever seen. I hadn't read anywhere of such a picky eater. I actually had to return him to his breeder so that he would eat, and then had him returned to me after 3 feedings. I finally got him to eat for me, but I had to use the strangest method: thaw a frozen rat, warm it up using hot water afterward, then lay it down in front of him. If I wiggled it, he would reject it. It had to be just him and the rat. I didn't mind, because he would eat.

He ate reliably up until about 2 weeks ago, and I haven't been able to get him to eat since. I'm going to attempt to feed him again tomorrow. I don't know why he suddenly decided to stop eating, but I'm very worried about how to proceed with his feeding schedule.

Here's some general data about his environment:
80-90ºF on the hot side.
70-80ºF on the cool side.
(There's fluctuation because my house is wicked cold and the temp wobbles a lot, so I am constantly adjusting the thermostats.)
55%-60% humidity (I stabilized this yesterday; before, it was a high 70%. Since he doesn't appear to be going into shed, this may have been the issue.)

Last attempt to feed: 4/15
Next attempt: 4/23
Last urate found: 4/14
Last poop found: 4/14

Last tank reset: 4/14 (full clean, substrate replacement, the works)
Last shed: ?

He has not shed for me yet. He has had two sheds in his lifetime so far, I believe. His first hatchling shed was with his breeder of course, and then his second shed happened during the time his breeder was holding onto him trying to get him to eat. He didn't tell me when the shed was, though. And now, I can't remember when it was exactly that he had my snake. I also don't know when he last took a meal, because the reminders on my phone glitched and messed up my schedule for him.

But now, I can only move forward. That's where I really need help. I have no idea if my snake- whose name is Smake by the way, lol- is underweight, overweight, the right weight for his size, or anything. I have a kitchen scale I can use, but I don't want to weigh him until I can get him to eat, since I don't want to touch him or handle him until then. I've included some pictures of Smake and his enclosure.

He's been primarily in his hide on the hot side: https://imgur.com/a/hSGP3bd

This is his tank setup:
https://imgur.com/a/y33M9Np
(Not pictured: two heat mats (again, my house is FREEZING. His cold size would be in the low 60s otherwise), two thermometers on either side, and one thermostat per mat)
(Also: his tank is 10gal)

This is him:
https://imgur.com/a/11gTjfP
https://imgur.com/a/YmfYCgC
https://imgur.com/a/obKdbZM
https://imgur.com/a/tgQonyA
https://imgur.com/a/aaY8BR7

In summary, here are my questions:
1. Is he healthy, underweight, or overweight?
2. Based off of his appearance/weight, how often should I feed him going forward?
3. Is there anything visibly wrong with his setup?
4. Aside from blue eyes and rougher skin, what signs can I look for to know if he's getting ready to shed?
5. Finally, his head appears flaky, but only barely. It doesn't show up in pictures. Is that normal?

Thanks for reading my long post! Please ask me any questions about my snake that come to mind and I will answer them to the best of my ability.