Digital Compass: Can it be calibrated/shielded to prevent normal operation in the presence of ferromagnetic materials
You dont want to shield a compass, then it wont show you the north at all. What you might want to do is make some low pass filtering to get rid of noise. For example avarage the reading over n samples, then the random noise from environment mostly cancels out. Same effect as frictional dampening in old school compass, electronic compass doesnt have any so add it in code.

Also dont forget that compass never points to true north or even magnetic north. 

In aeronavigation 3 correction parameters are used:


Correction for airplane frame, these are calibration values gotten by rotating airplane and comparing compass readings to magnetic north. This parameter is added to reading.
Correction for local magnetic anomalies, due to uneven distribution of metals in earth crust compass reading rarely points straight to magnetic north. There are maps for this where a correction parameter is taken from and added to reading.
Correction for geographic coordinates, magnetic north pole is not at north pole, depending on your coordinates a correction parameter must be added, for example if you were flying right between magnetic north and geographic north the correction parameter would be 180degrees. The parameter is less drastic further away you are from poles.


Sum of these 3 parameters and compass reading is geographic north. So you can see that answering "where is north?" with a compass can be a quite difficult if you want high degree of accuracy. If you dont want to count for all this settle for "north is in that generic direction"