Playing on hard reduces your hit chance (from normal) by 20% if you recently switched or anything.

Fighting enemies higher level than yourself reduces hit chance quite drastically (see Eidolon's comment about the White Witch), while the reverse is true for lower level enemies. If you have only 30% hit chance, I think this is the most likely culprit.

As the other posters said, increase primary attribute and use accuracy buffs. Spells never 'miss'. If you're using bows, perception is important as well as dexterity, it determines how your accuracy falls off with distance. For bow use, farsight may be better than bless as it increases your sight.

Also, enemies with a 'hard' condition affecting them (frozen, petrified, stunned, blinded, knocked down) have no defense rating so you should have 100% chance to hit them.