I agree with the others, it helps if you view the gender as an intrinsic part of the word you learn, not as an add-on.
If you are a visual learner, you could try color-coding.
For example, you could type the English word in black and the German equivalent in different colors depending on the gender -- let's say all feminine nouns in red, all masculine nouns in blue, and all neuter nouns in green.
You'd need use a different program though, one that lets you use different colors.
The good news is that it should get easier.
Once you move beyond the basic vocabulary there are fewer exceptions to those rules you mentioned. Abstract nouns tend to stick to them more closely because they are often loanwords derived from Latin, Greek, French etc.