Indeed, masculine nouns usually end in a consonant or -ь, neuter nouns usually end in -о or -е, feminine nouns end in -а, -я and -ь. There isn't much to add to this.
To distinguish feminine and masculine -ь, you could try to find patterns in suffixes used. For example, most nouns in -тель (учи́тель 'teacher', води́тель 'driver') are masculine. Feminine abstract nouns in -ь often have eding -сть (ста́рость 'old age', ра́дость 'joy').
The word «ко́фе» is a loanword, so that's why its gender is unpredictable. In fact, this noun became neuter in many people's speech (myself included), and many dictionaries list it as either masculine or neuter. It's undergoing a transition from masculine gender into neuter now, and some people use neuter «ко́фе», while others say it's incorrect.
Actually, dictionaries have been classifying «кофе»'s neuter gender as acceptable in spoken speech for decades (I checked an 1974 dictionary I have, and it was there). However, there are a few "mistakes" that self-proclaimed literacy guardians will notice and make fun of you, звонит and кофе included (somehow, no one noticed a new acceptable stress of включит was also added a few decades ago). So we preferred to play it safe in the course. :)
Ahh ok,it's pretty similar to Croatian,i just didn't want to assume more similarities than there are in reallity.Plurals on the other hand differ greatly,i think yours are far more consistent than ours.
It's interesting how води́тель means driver,here ˝voditelj˝ is sort of someone who leads something,like a show,TV voditelj for example.
Yeah, that works, too. However, some native speakers take the issue as seriously as "It is I" in English. So you should take this into consideration. The preferred gender for this indeclinable word is masculine, with neuter also acceptable. In reality I am not sure the masculine agreement ever was the only form in use.