No (for best outcome) it is not enough. As you might have observed, the error that Gyro produces during stationary position is very random and has no specific order. No matter how much reading you take for average offset, you cannot eliminate it.
One solution is simply to use sophisticated sensor which is not always possible. Another solution is to use sophisticated algorithms. For example Gyroscope can be fused with Accelerometer and then to apply Complementary Filter.
Similarly if you want to dynamically calibrate Gyroscope at every reading then you can use Kalman Filter for estimation. Kalman Filter is slightly difficult to apply but it gives way better results.
Ref: Kalaman Filter by Phil Kim