Why does gyroscope drifts and is it possible to use position based calibration to calibrate it?
The bias and drift of the accelerometers and the gyros come about because they are not perfect devices. Initial manufacturing imperfections, drift with time and temperature, etc. It takes a pretty good gyro to even detect the earth's rotation, I doubt the cheap MEMS ones come anywhere close, but I have not done the calculations. 

You can fuse IMU information and maybe a magnetometer heading sensor with GPS information using a Kalman filter to optimally correct for some of those errors.