Mostly it's do it by hand. I made a word document listing mods and their id ranges, so it's pretty easy to find conflicts, but it took a good while.
But what mod is it conflicting with? I used BoP in my pack and I don't remember having any id conflicts with it.
As a note, almost any block ID 255 and under used in world gen. Do NOT change the ID unless you must, and if you do, make sure you keep it under 255. It is a peculiarity with Minecraft that any world gen type blocks MUST, MUST, MUST be under 255. You will get crashes. Also .nNote, this does not apply to ores, they are added after, which is why they can and usually do have IDs much higher than that.
Beyond that, the easiest way, although a bit time consuming is indeed do it by hand. Assigning each mod Block IDs in certain ranges, usually in groups of 50 or 100, and then note what is assigned where. Done this way you can guarantee Block IDs will not clash, and adding mods is simple as you know exactly which IDs have been used and by what. This is how FTB does it, moreover than not, and it works. Also, if you keep the IDs the same every place you use that mod, you can very easily mix and match mod packs without worrying about conflicts.
As for ore generation, you really need to go through your config files for this one, and it can be a pain. thanks to the Forge ore dictionary, you only need to have one mod generating a certain ore. Make a list of all the ore that will generate in your world, and try to find the least amount of mods that cover all your bases. In most cases, I find Thermal Expansion to do the job, as it covers copper, tin, silver and lead.