I consider myself an ally for many marginalized groups that I am not a member of. I certainly have considerable privilege. I think the biggest thing is to listen to members of those groups though. See what they think it means for you to be an ally for them. I try to do those in things if/when I am able. And I think it is very ok to not be able to do lots of things for people. It's ok to have limitations.
Activism can look like using your own platform to amplify marginalized perspectives. It can be as simple as retweeting marginalized voices. I think that is really important. You don't really need to add your own voice. You can simply give them your platform. Because if you are in a position of power, more people respect what you have to say, or what you share, than people respect that marginalized person. Share their Facebook post. Don't add commentary like, "what do you think?" Just share the marginalized perspective.
Activism can look like listening to marginalized people with an open mind. Be less ready with your reason for why they are wrong. Be more ready to say, "I learn so much from you. Thank you for taking the time to teach me." Don't judge our tone. We are angry for a reason and it may hurt your feelings a bit, but that's ok. It's part of the process.
Yes communities are wide and diverse and opinions vary. Sometimes it's ok to take a step back and refrain from judgment. I do this a lot. If I am not part of a community, I wait, I listen. But I also think that once a community has spoken, and has a general group consensus, that consensus should be respected and not debated by people outside the community. (It's always ok for people within a community to continue to discuss and evolve.) If a community is not at consensus, it's still not your job to tell that marginalized community member that they are wrong. Their experience and opinion are not wrong.
I hear people all over simply asking to be heard. Listen to us, accept our words as valid. Share our message. That's how you ally.