Ok, a few points of note. Curse/Twitch is an extremely useful tool, it's just super easy to download most things. My biggest recommendation for pack development is to use a version control system from the beginning. This way you can track every change you make and undo them easily if there are problems. You will also have an easy way to see diffs (file changes) if you take an update to a mod and it alters the configs. I have a local svn server setup on a secondary raid array of drives, then I post all configs and scripts (NO CODE, very important, this would violate the modders TOS) in GitHub. Next, if you want to do anything of interest at all, you will want to customize recipes using CraftTweaker. This is a mod that let's you change recipes with a simple script instead of a full java class extension. Here is the wiki
There are tons of other mods that exist solely for pack makers to change the standard mechanics of the game, the best way to learn about these is to search Curse and look at the special things other packs do and research how the authors did that. Oh, also, watch out for biome/dimension/potion/enchantment id conflicts. These are unique numbers assigned to each of these things registered in Forge. If to mods are assigning a biome or enchantment or whatever to the same ID, bad stuff will happen in game and could damage players worlds. Don't let this happen, use AntiIdConflict to force a crash on load if there is an ID conflict. The when you see the crash, you can look at the files AntiIdConflict created to figure out which two mods are requesting the same ID and go into the configs and change on of them.
There's quite a bit more to it than that, but I tried to give you some really key points in a succinct a way as possible. I hope this helps. Feel free to look over my pack as a reference for how to get a large number of mods playing nice together. I believe there are 304 mods in my pack.