As always, you've got a lot of options. I'd suggest that, instead of spawning your sprites directly, use a "scouting" object to test the waters. Spawn those randomly, then, if they're not overlapping anything, it's safe to spawn an enemy or whatever. If it is overlapping then go find somewhere else to spawn.
Here's an example capx. It'll generate new blocks until it can't any more, at which point it simply crashes when it runs out of space.
If you want to allow some overlapping, just set the scouting object to be smaller than the objects you're spawning.