I'm no Latin expert but I know Italian, which has the same rules as outlined (more or less) by jmh above:

G followed by a,o or u = hard G (e.g. gatto (cat))
G followed by e or i = soft (e.g. gelato (ice cream) is pronounced "jelato")
If you need a hard G followed by E or I you stick in an H (e.g. spaghetti)

So magus/magi makes sense to me, in a transferring-Italian-rules-to-English sort of way!