These are random personal design notes, just to make clear as some are bit random indeed.
Avoid defense missions, its very tricky to create proper AI plans and also in the start of the mission it might be very long time before any combat happens while you just wait and wait...
Nothing against defense missions, if you could make proper AI plans so the attacks would be awesome.
You can edit PMC campaign missions from <root>\PMC_files\<campaign-name>\ dir at anytime, however when you want to test them you have to copy them to scenarios dir.
Remember that bigger isn't always better, sometimes those small scale scenarios with few(er) troops give you more personal and emotional connection to them, instead of just slugging away huge troop formations by dragging a box around all units and ASSAULT! hehe.
Naturally as CM game engines suck, any large terrain causes additional laggyness to the scenario.
Units Initial Setup and setup zone placement should not be ignored.
Make proper initial locations and placement of squads/platoons/hq's etc next to each other. It is very painful and lame to have player organize the troops at scenario start. Player can easily spend half an hour to place squads into vehicles before he even really starts the scenario :(
This doesn't mean you need to decide for player how he should use his initial unit placement, no but if you just have gazillion units on top of each other in one corner then you can be sure every player wants to position them decently.
Very frustrating so please setup units initial stuff in scenario file already! Just don't spam units in purchase... place them properly, please.
Add "touch" objectives like reach line in advance etc. Those are easy to do and add nice gameplay objectives for players. Occupy requires effort, touch/reach is very easy to accomplish.
No terrains under 1km x 1km dimensions, anything below is piece of shit Call of Duty crap. You need freedom of movement. Lieutenant! Bomb that tree line back about a hundred yards - give me some room to breathe!
Enough vehicles for all squads, large terrains needs transport capability. Nothing worse than have your heavy machine gun teams drag the guns into battle only to reach there completely exhausted. No, just add transport vehicles for them or just generic ones for everyone's use.
When you have large enough terrain and use vehicles to transpor your infantry around, its very satisfying to then disembark and engage in combat.
If you compile a campaign then you have to play it from the start to get to test scenarios at the end of the campaign. Otherwise just take your single scenario, put it on scenarios dir and test it from battle menu.
When you are purely testing, choose single scenario method by battle menu, then use skill "Scenario Author Test" and you can see all enemy units. You can easily see if AI plans are not working or something else is wrong.
Naturally you cannot test campaign core units functionality with battle menu method.
Add campaign name to each mission briefing situation part (first part), its so much easier to see in-game which campaign this is.