Mining is the only job which has normal non-luck-based process to get money (except when grinding). When you dig, crabs appear and interrupt, in pizzeria people can steal your oven and table, on mailing you get random locations. It is easy to drill, just tap every 10 sec 4 times and you are done, noone can disrupt you or steal your rocks/spot. Mining is easily macro'ed. That's why I think the process must be changed, some random must be added there too.
I am not very good at explaining big/complex ideas, but I will do my best.
1:
To mine 1 rock you need 4 taps. Why not randomising it? Making it 3-5 taps required for 1 rock. To ensure that it is still same "mining speed" it can be coded to have a sum of 12 taps for 3 rocks (For example, 1st - 5 taps, 2nd - 4 taps, 3rd- 3 taps. Sum-12 taps).
2:
Usually we mine and receive only 1 rock at a time. Why not making it random? Sometimes you would get normal rock (would need 4 taps), sometimes you would find medium rock (8 taps, get 2 rocks), and rarely you would get huge rock (12 taps, 3 rocks).
It will be impossible to macro this random. Only if making it overmine all the time, because you never know how many taps you will need. This would lower macro effeciency.
3:
Why not punishing people for overdrilling same spot where you have just mined a rock? Macro users tend to overdrill the spot before switching to another/turning to different side. For each fail you would need an extra tap to finish the rock, or your drill would get slower by 0.5 - 1 sec. Would be logical, as if your drill is overheating making it dull. Repair of the drill would cost cheap, but that still would be a little punish for macro'ers.
Since newbies dont know how to mine, this "punish" could be disabled for those who are not level 5+.
Thank you for you attention
.