Marda had some great suggestions for you.
I know my husband's schedule, except when I don't. What I mean by that is, he has a set schedule, and I know what it is. But he prefers to work mornings rather than evenings, and he has the option to 'request' earlier shifts. He will do this when he wants to change his schedule around some. But he doesn't always get "approval" more than 8 hours or so in advance.
He might go to work today (his shifts is 3-11 today) with his regular shift tomorrow still on the books (scheduled for 2-10 pm) and get home tonight and tell me that he got tomorrow's shift moved up to a 12-8 pm shift or an 11-7pm. No big deal, right? Except that I have been to the store and planned dinner for tomorrow already. If he gets home at 10 pm (his 'normal' shift), he's already eaten and I am feeding only the kids and myself (and it is likely to be takeout since we are at martial arts until 7 pm)... but if he is getting home at 7:30 or 8 pm, then he will want to eat at home as a family. But I am not going back to town in the morning so that I can have dinner made before I leave for town at 4 pm to go to martial arts!
So, if he takes the liberty of switching his shift around, and doesn't give me adequate notice, then we have the understanding that "he is own his own" regarding dinner plans. Just the way it is.
Sometimes I detect a note of displeasure in his voice, when he calls me at 5 pm and asks if he needs to get his own dinner before coming home.... but, we both know that that is just the way it is sometimes.
Communicate with your husband about what you need. Sounds like you need more information and in a more timely manner. If he cannot give you that, then you need to let him figure out how to come up with his own meal plan. Or just accept that you aren't adjusting your evening plans to suit his schedule. Dinner is at "X" time. If he is there, great. If not, the leftovers are in the fridge. He can reheat them himself. And clean up his mess when he is done. Since you will have moved on to bath time/homework/bedtime with the kids.
And when he is home and you are obligated elsewhere, tell him what you need him to do. Dinner is at ___. It is in the fridge, you just need to re-heat ___ and add ___. The kids need to be told to go to bed by ___ time. Jimmy still has homework to finish. Depending on the ages of your kids, though, don't expect him to do much on the homework front. Dads tend to ask "did you do it?" and that's as far as it goes. Which isn't necessarily a bad thing. Just be aware that it won't be the same as if YOU were handling it. lol
Sadly, in a lot of ways, it is like leaving the kids with a sitter, when Dad has an irregular schedule like that. Don't take it personally. Just remember what you mentioned at the top of your post: "...at least he has a job that has a liveable income." Be grateful he is fulfilling his familial obligations to provide a home and income for your family so that you can stay home to take care of the kiddos.
On the days when he is not working, does he step up and "parent" then? Mine is very human. Some days he is excellent, and some days he is in "me" mode and in his own decompression world. We all have those days. On his good days (which are far more common than his more melancholy days, lol) he instructs the kids in helping out around the house far better than I do. And he jumps in and "does" himself, as well. The yard. The house. whatever. Laundry, cleaning the kitchen, changing the sheets. Doesn't matter.
Communicate. :)