"I am eating a red apple."
Translation:Je mange une pomme rouge.
I think we need Francophone to answer this one. My take is the "Je suis -> You ARE/AM literally the object in the sentence", but in this case you just EAT the apple (you're not an apple) ∴ it is "Je mange ...". To further this "Je suis un homme" -> I AM(literally the object of the sentence) a man.
Because French is a romantic language, and everything is assigned a gender, whether or not it makes sense. Cows are feminine, water is masculine, and chips are feminine. It's just something you have to adjust to when you switch from a language that doesn't carry that standard.
There is no hard and fast rule.
If in doubt use common sense (e.g. one would imagine "bull" is masculine) By the way "A bull" is "Un taureau" But I seem to remember that there are a few words which an English national would THINK were masculine but are deemed by the French to be feminine (I can't remember everything in my French classes fifty years ago). Perhaps someone else knows an example. Anyway, as you say, "you just have to learn them with experience" (it becomes natural as you you become fluent and would just "sound wrong" if you used the wrong one! LOL)