Role specific dashboard block
One way to hide the blocks completely without doing any coding is to set up your own custom dashboard using the Panels module.  With Panels, you can override pages (such as the admin dashboard) and then add the blocks using Panels.  The advantage of this approach is that you can use the Visibility conditions feature of Panels to only show the block for certain roles, which will completely hide the block rather than showing an empty version.

The disadvantage of this approach is that this might be overkill if this is all you need to do.