This isn't a simple average, that's for sure.
22:00 and 22:02 averages to 22:01
23:00 and 1:00 "averages" to 0:00
22:59 and 1:00 "averages" to 11:59:30
You also have to strip the dates off to do any average that will make sense. 12:00AM yesterday averaged with 12:00AM today is not "12:00AM", it is halfway between the two date&time values = 12:00PM yesterday. TIMEVALUE strips the dates and gives a decimal number for the time of day. 0 = midnight, 0.5 = 12PM (halfway through the day), and so on up to just about 1.0 and then it becomes 0 again.
Because your bedtimes cross midnight, a simple average of the times of day won't work because you are averaging numbers that are close to 1 (near the end of the day) with numbers that are close to 0 (the beginning of the day) and the resulting average will be sometime in the middle of the day (0.5). We need to shift the clock so your times don't cross that 0 boundary. Shifting forward by half a day should work. Your late night bedtimes will move to just before noon the next day and your early morning bedtimes will be just after noon. Then we shift it back after doing the average.
Column B formula =IF(A="","",TIMEVALUE(A+0.5))
Copy/paste it to all the rows in the column
The average =TODAY()+AVERAGE(B)−0.5