When I was in elementary school I was taught that the rule was: If a word ends with a silent "e" that serves to make the previous vowel long, and you add a suffix that begins with a vowel, drop the "e". If the suffix begins with a consonant, do not drop the "e".
Thus: forgive + able = forgivable
But: forgive + ness = forgiveness
Here's an Internet source that states this rule like this, "Another thing to keep in mind is that when a suffix is added that begins with a vowel and the main words ends with a silent "e", that silent "e" should be dropped like it is in the words pricing and surprising. However, if the suffix used begins with a consonant, the silent "e" should be kept such as in the words likeness and advancement." [http://www.thefreelibrary.com/English+Spelling+Rules+Adding+Prefixes+and+Suffixes-a01073900597]
thefreedictionary.com gives the spellings as "forgivable" and "unforgivable" -- no "e" in either word.
But frankly I often see spellings that do not follow this rule. Whether this is because people are not following a consistent rule or the rule as I was taught was a simplification and there are other cases, I can't say.
By the way, another general rule I learned is that when adding a suffix that begins with a vowel, if the base word ends with a short vowel followed by a single consonant, double the consonsant. If the vowel is long or there is more than one consonant, don't double the consonant.
For example, big + er = bigger. But cool + er = cooler (the vowel sound is long) and bank + er = banker (two consonants). (Ooh, I just noticed that I am using the suffix -er with two different meanings: "bigger" means "more big", but "banker" does not mean "more bank". In "cooler" it can have either meaning: more cool, as in "Today is coooler than yesterday", or a thing that cools, as in, "Put the soft drinks in the cooler.")