What about if you encounter that position where it was repeated twice, you try to avoid returning a hash hit, but just use the hash move found, then in the next two ply ahead when you encounter again the position for the third time, you can now return a draw score.
For example:
check for position repetition;
if position is repeated thrice then return DRAW score;
if position is repeated twice then
avoid returning values from hash;
just use the hash move found in the hash entry
and continue with alpha-beta recursion;
In my own opinion, positions that repeat twice is good enough to return a DRAW score. Sometimes programs that do returning repetitions only if it encountered a position thrice will play passively especially in the endgame where it would just repeat its move again and again without improving its position while the fifty move rule is becoming nearer. But there is also some examples where this has been useful. Try to search for the programming page of Bruce Moreland, I think I have seen it being discussed there.