The Book says, "Parents, do not exasperate your children..." Oh, that it would only say, "Children, do not exasperate your parents!" Actually, it does, in different words! But they're just learning, and we're the grownups.
You can't do anything about your husband's absences. He can't do anything about your yelling. You each have your own challenges to meet. Even when you have separate challenges, you're still on the same team.
In your post I hear you saying, "I don't want my children to grow up the way I did." It's quite an undertaking to do things differently from a way you already know. You do know that, for this, you need to change yourself, rather than burdening your children with the responsibility of *making* you calm and happy. This is mature thinking.
I like Gigi's advice. You may not always keep your children from fighting and yelling, but you can keep *yourself* from doing it. When you feel your stress level going up, automatically and deliberately lower your voice. That's a good place to start. Don't let your children's moods control yours. When you feel like yelling, squash the feeling (that's actually the way I feel when I have to do it!), and lower your voice, especially when you have to correct. Do it even if your children don't respond. They may be in a mindset of, "I don't have to listen to Mama until she screams." Don't mind it - keep at it and they'll get curious.
Lowering your voice may lower your blood pressure, so to speak. This is a major shift, so know in advance that you'll be working on this for a while before it even feels comfortable. You'll stumble - but, as you progress, you'll realize that *not* yelling opens doors to other ways of management.
It is easy for us to see the crazy things our children (and in my case my grandchildren) are doing - and the things they do that make us crazy. Along with the decibel-lowering, look for the good things about your children, and talk about those things openly. Let them hear you say, casually, "I really like the way you're sharing your toys right this minute," or "Thank you for coming when I called you." On one of those television programs that many people have a love/hate relationship with, the mother says (and she isn't the first to say it) that for every time you correct a child, try to praise that child TEN times. Ten good things said for every bad thing - that means you have to do a lot of looking for the good things. This is another major shift that will take some time for you to get used to.
If you have a very close friend at church who will stand in the gap and pray for you as you make these changes in yourself, ask her. Pick someone who won't talk about you to others, and who will want to be a cheerleader for you, so to speak.
Most importantly: Please, please, please don't have it in your head that you're not being a Christian mama if you're not being a *perfect* mama. I wondered, when mine were little, how other mamas could sit in church on Sundays with their children politely and quietly sitting beside them, and how their children always seemed so well-behaved every time I saw them. I was *always* having to correct mine, in church and out. It was years before I realized those same women had been thinking the same thing about ME! The Christian life is not about being perfect - not even on the surface.