For crystals I'd go for a fake stone shader(s), set as the surface of the crystal on a seperate plane object, just beneath the original terrain, to get crystal forms. poking through the surface. Or apply the fake stone crystal shader to a sphere and distort its shape with fractal displacement.
A rock object also works well because of its ability to be scaled and the number of faces edited but you cannot add displacement to that. A transparency shader(edited water shader with no wave/patch/roughness parameters and high decay distance of the colour of the crystal will work.
The fake stones shader idea is better in my opinion.
EDIT:
Is it really a year since this topic? Bloody hell!