First off, pardon the essay. It includes what I consider the optimal plan for grinding army and general experience with volunteers in the Spanish Civil War as well as an explanation of the mechanics that lead to this plan being optimal. This is from a pure min-maxing perspective. If someone knows something better or I made a mistake somewhere, be sure to correct me.
The following advice is geared towards optimally grinding general traits in single player, not actually winning a war. When you are finished grinding, desire to win a war with your volunteers, or are playing multiplayer, just convert all your volunteers into a 14-4 infantry template ASAP. In multiplayer, the goal in the SCW is typically to grind out traits too, but you can't afford to use bad divisions tailor made for grinding because your human opponent can take advantage of it and destroy your volunteers. Also, MP house rules usually ban sending any tanks at all as volunteers.
Typically what I do with land volunteers (I'll use the SCW as an example as it's the most common scenario of volunteer use) is first I deploy as many divisions as possible to get up to a volunteer limit of seven. My memory is failing me here but I think you need about 120 divisions to send 7 to Spain. Deploy units at minimum training and equipment to just turbo inflate your division count. You can deploy starting template panzer divisions at first, then when you have 5 army exp from your focus tree create a new empty template with just one infantry battalion and train/deploy those (also at minimum training). The new empty template button for those who don't know, is found by pressing the drop down arrow in the division designer where you choose which division template you're editing, and the top option will be a button that says "+ Create New".
When the civil war starts, send your seven volunteer divisions and then delete the rest of your army, this will put all your equipment back into the stockpile so your volunteers will have what they need to fight with.
Also, I lend-lease 6000 infantry equipment once and 1 support equipment monthly to the Republicans, regardless of which side of the Civil War I'm supporting with Volunteers. This is because the Nationalists are in a stronger position in the Civil War and sending guns to the Republicans will prolong the civil war, allowing for more grinding. If you want to gain even more army experience, rename whatever model of gun you're sending as lend-lease by putting a few 0's in front of the name. This is because equipment is used up in order of tech level, then by alphanumeric order. This means that if you send six thousand "00000Karabiner 98k" to the Republicans, it's guaranteed that your lend-leased guns will be the first ones to be sent as reinforcements to the Republican divisions. Lend-leased equipment generates army exp only when it's used in combat, not when it sits in the national stockpile of whoever you sent it to, so this little renaming trick will get your army exp flowing in much more quickly than normal.
------------------------------------
The division templates that are used for grinding in this example are a tank division of 2 light tank and 6 cavalry, and an infantry template of 8 infantry. Both templates are 16-width.
Your divisions need to have at least 8 battalions, as divisions under this size will generate less general exp by fighting. However, don't make your divisions too big, or they will win battles too quickly. That means 16-width pure infantry is the bare minimum, and is probably the optimal infantry division for the SCW. They will still win battles easily, taking few casualties to the 6-width Spanish spawn-in divisions, leading to good exp gain, but not too fast that you push the tile by making the enemy retreat.
The optimal thing to do is send two tank divisions and five infantry divisions, so that neither Panzer Leader or Infantry Leader will gain experience. You want to avoid grinding "X Leader" traits at first because generals gain trait experience much slower for each trait they already have. You need 40% of the divisions in the army to be tank divisions to get experience towards Panzer Leader and 80% of the divisions need to be infantry to gain experience towards infantry leader, so 2/7 being tanks satisfies the requirements to not gain either. The goal is to grind out the terrain traits you want first, followed by Panzer Leader and Trickster. Also, DO NOT use battle plans, even a front line order. Micro every action your divisions take because having them assigned to a front line will make your general gain experience towards Organizer, which you do not want. I try to get every trait I want to 99% without actually unlocking any of them until I have every trait I want at 99%, then grind the last percentage point on every trait. The trait experience penalty is 1/2 exp for the second trait, 1/3 for the third, and so on, so it's very important and worth it to do this.
The fastest way to grind out traits is to use a general with no starting (gainable) skills to start off with. If you have a level 1 general with Armor Officer but no actual traits, use him. Armor Officer not only doubles the exp gain rate towards Panzer Leader, but it increases the odds of leveling Attack and Planning on level up. Starting from a level 1 Armor Officer will make you much more likely to end up with a 10 attack general after all things are said and done. Needless to say, especially never use generals with Politically Connected or Old Guard when you're trying to grind out traits. I would also advise using a general with Cautious if you can, but of lesser importance than Armor Officer and only if you don't have someone with Armor Officer, as they will be less likely to be wounded and halve the bonuses of all the great skills you ground for at an inopportune moment later in the game. In order of priority: Armor Officer + Cautious > Armor Officer > Cautious.
The goal is to fight battles in the terrain corresponding to the traits you want, fighting until the battle is almost won but stopping before the enemy divisions retreat (stop the attack when the bubble gets to green 99). Then let the enemy recover their organization, and start the attack again when they are close to full. Letting battles go on too long also will penalize general experience gain, so pause your attack every couple days and resume it, even if you're not making much progress towards de-organizing the enemy. Just one hour of stopping combat before resuming it will do the job. The rate at which exp gain decreases is linear per hour in combat, down to 10% at 30 days of fighting, so pausing your attacks often is important.
------------------------------------
My goals for grinding a good general are to acquire the following gainable traits: Mountaineer, Hill Fighter, Ranger, Engineer, Trickster, and Panzer Leader. This will allow me to unlock via command points the traits Adaptable, Improvisation Expert, Fortress Buster, and Panzer Expert in that order of importance.
Mountaineer and Hill Fighter are easily gainable in the Spanish Civil War, as there are plenty of provinces with hills and mountains in Spain. Engineer is gained when attacking over rivers and into forts, so attacking over a river into a mountain or hills is a good way to grind two traits at once. There are not very many forest tiles in Spain, so it may not be possible every game to get Ranger. Trickster is gained when attacking from three directions at once. In some places, it is possible to be attacking over a river, from three directions, into a single mountain/hills province. Doing this whenever possible will let you grind out three traits at once!
Basically, what I do is send all 7 divisions to attack into mountains (across rivers and attacking from three directions when possible) until my general gets 99% towards mountaineer, then send them all to attack a hill province, to get 99% towards hill fighter. Make sure to attack from three directions get to 99% towards trickster this whole time of grinding mountaineer and hill fighter, and attack over rivers whenever possible for Engineer. When I'm done (99%) with Mountaineer and starting to grind Hill Fighter I convert one of the infantry volunteers to a tank division of 2 tanks and 6 cavalry in order to start grinding Panzer Leader. My goal is to have Panzer Leader get to 99% at roughly the same time the last of my terrain traits are finishing up, timing this can be somewhat tricky or you'll have to spend extra time and hope the civil war doesn't end too early if you mess up.
Once every gainable trait you want is at 99%, go around finishing each of them off by fighting for a few days in the respective terrain for each trait. When you're done you can assign all the traits you get with command points, and voila! You now have your super general.
The next step is to convert all your volunteers into 14-4 40-width infantry to quickly finish up the civil war. You can put them on a fire-and-forget battle plan if you want now, you have all the traits you need so it doesn't matter if you start getting experience towards Organizer. The main bottleneck you will face at this point is the general not being a high enough level to assign all the assignable traits that you want to put on them. Organizer should gain experience slowly enough due to all the other skills on your leader that it shouldn't unlock before you're a high enough level to finish assigning the skills you actually want.