Alert on partition growth
Everything seems fine for 99% of the time, but occasionally I get an
  email from my script stating that growth in the past hour is something
  like ".08%", well below my current threshold of 0.75%. Is something
  wrong with my logic?


When the tools seem to defy your logic, play with simple examples.

The code that generates the message with ".08%" is this, roughly:


printf "\"$monDrive\" has grown $results%% in the past hour. | mail ...



where the $results variable comes from:


results=$(bc -l &lt;&lt;&lt; $current-$prev )



and the threshold is checked with:


if  [[ $results &gt; $percentThreshold ]]



Now let's play a little:

$ [[ 0.08 &gt; 0.75 ]] &amp;&amp; echo true || echo false
false
$ [[ .08 &gt; 0.75 ]] &amp;&amp; echo true || echo false
true


A-ha! Apparently, 0.08 is smaller than 0.75, as expected but .08, with the leading zero omitted, is not smaller than 0.75, at least in Bash.

But why do you have .08 instead of 0.08 in the first place?
Let's play a bit more:

$ bc -l &lt;&lt;&lt; 2.81-0.79
2.02
$ bc -l &lt;&lt;&lt; 0.81-0.79
.02
$ bc -l &lt;&lt;&lt; 0-0.79
-.79


Ah. So when the result is below 1, apparently, bc drops the leading zero.

So how to fix this? It seems there's no obvious way to prevent bc from dropping the leading zero. But as you're already doing many calculations using awk, you can move this calculation there too:

results=$(awk '{print $1 - $2}' &lt;&lt;&lt; "$current $prev")


Note the space between $current and $prev, 
so that they can be used as $1 and $2 in awk.

Code review


   df "$monDrive" | awk 'END{printf "%0.2f",$2/$1*100; exit}'



In the END block of awk you don't need to exit,
as the command will exit anyway.
I also recommend to add more spaces to make the expression easier to read:

    df "$monDrive" | awk 'END { printf "%0.2f", $2 / $1 * 100 }'




This seems completely pointless, you can delete it:


#Validate file content
printf "%0.2f" "$prev" &gt; /dev/null || exit