You can't really stop them from spawning any other way, not in vanilla that is. You could set up a command block near the world spawn (so it stays loaded) and have it detect and kill any hostile mobs out there.
Another option would be to use mods. WorldGuard for example which allows you define regions and set up flags for those regions. That would allow you to deny hostile mob spawning for the __global__ region, thus effectively removing all hostile mobs despite the difficulty setting.
Im doing a survival map. So I need to let all passive mobs alive and prevent hostile mobs from spawning and yet play in normal mode with all Features. If I can use mods I dont mind. I just need creepers and zombies to stop annoying me