Ballast can be substituted by any material which prevents settlement of the crossties, is prone to environmental conditions and is cheap to procure and transport.
A few substitute materials could be
Sand (river sand) : With a low cohesion and water retention, and good strength sand is very good as a ballast substitute. If it were cheaper, ballast might never be used.
Robo sand : robo sand is nothing but mechanically manufactured sand by crushing rocks. It works the same way.
Gravel : Gravel is Midway between sand and ballast stones in terms of size of particles.
Rock : If nothing else, but rock is cheap, rock crushed into suitable size stones can be used.