I can definitely understand this struggle. Here are some ways we took a different approach than most.
We have 3 GM’s (myself and 2 others that are very trusted) I personally hold the true gm role in game but we made a co-gm role that has all the same perms for in game and discord.
We do loot council and have 5 people that discuss and vote. (All roles and our most knowledgeable players)
We run a rotating bench being we have around 28-30 active raiders.
We are 25m focused on weekends and run 3-4 10s per week.
Guild repairs, feasts, potions and flasks are all provided for all raids.
We sell alts boes at 50% ah price from the gbank. Main raiders get boes free if the drop and are an upgrade.
We track attendance and anyone below 80% is prioritized lower by loot council.
We track number of items to players so we aren’t just juicing out “favorites”.
We release FL staff priority lists 1 month in advance so people know who is getting what with a full list planned behind closed doors held by loot council of current full t12 staff order if nothing changes.
We are a community first guild, we do not tolerate being an jerk to people, showing up drunk and yelling at people, or general clowning around. We focus on everyone having a good fun raid with lots of laughs.
There will always be drama in guilds no group will be perfect having reliable people to lean on and remaining calm when talking to anyone is key.
We are currently in the top 25 for firelands in mankirk and I couldn’t be happier with the amazing team we have all became.
Hope this helps may not fit your team to the T but this made us a healthy team.
Rotating raid leaders when they need a breather is a good idea as well they truly have the hardest job in my opinion.