I've given my reasons why I have hard attack values on most of the small arms and support weapons, and that will stay.
I've been thinking a bit more on morale due to Daemion's post. I think it may be possible to implement it in a more satisfying way than Total Warfare/Tactical Operations does it, where it's basically a binary effect (Either you're calm as far as a grunt in a warzone can be, or the sky is on fire.).
I took heavy inspiration from Wargame: Red Dragon (again).
Say, every unit has a "Morale Scale" somewhat similar to a heat scale. If you're sitting around in an idyllic field and nothing is happening, the number on the morale scale goes down. If a big stompy robot 30 meters away with ornamental skulls and flamethrowers decides to turn your platoon-mates into barbecue in the middle of said field, the number on the morale scale goes up, and a higher number means not good things.
Better trained units have calmer nerves and can recover these "morale points" faster. A green militia squad might only passively dissipate, say, 2 points per turn, while an elite squad might dissipate 5 points per turn.
The scale looks something like this:
16-20:"Calm": Unit behaves as normal.
11-15:"Worried": Anxiety begins to impact the unit's marksmanship, +1 penalty to attacks and PSRs.
6-10:"Shaken": Unit's marksmanship has decayed considerably, +2 penalty to attacks and PSRs.
1-5:"Panicked": The Unit is barely able to fight and is at risk of routing, +3 penalty to attacks and PSRs.
(Optional)0-:"Routed": Unit follows Forced Withdraw Rules.
I'm also of the mind that one should get bonus morale point dissipation when you're higher on the scale, like +1/+2/+3 for worried/shaken/panicked. That would let poorly trained infantry rise to Worried or even Shaken if something scary like a 'Mech is in sight without much else going on, without boiling all the way to Panicking just from a Battlemech sitting there. Until said Battlemech starts shooting, anyways.
Anyways, for infantry, things that can affect the Morale Points recovery or loss can include but isn't necessarily limited to:
Having enemy BA or Tanks in line of sight: -1
Having enemy Protomechs in line of sight: -2
Having enemy Battlemechs in line of sight: -3
"Distracting" enemy in line of sight: -1
Having Anti-Mech Training: +1
Having Allied Tanks or Protomechs in line of sight: +1
Having Allied Battlemechs in line of sight: +2
Artillery Shells landing on mapboard: -1
Under Attack: -1
Under Attack by Physical Attack: -3
Under Attack by Inferno or Flamer: -4
Taking Casualties: -3
Hit by Artillery: -2
Hit by Supressive Fire: -1
(Suppressive Fire could be a special attack made by Burst Weapons, which forfeits "actual" damage in exchange for a big to-hit bonus and damage to morale on a successful hit)
Took 1/4 casualties in one round: -5
Took 1/2 casualties in one round: -10
You could even apply some of this to non-infantry units, like Battlemechs. You'd probably have somewhat different modifiers since the Mechwarrior is the king of the battlefield, but even their pilots are human. (Unless your Manei Domini, in which case jury's still out.) I can imagine getting so much as being targeted by an AC/20 or Gauss Rifle would unnerve a pilot, even if they miss. Taking shots to the head, getting a limb suddenly ripped off, having an ammo casing go kaboom, taking critical hits, getting swarmed by a bunch of cheeky Toads are all not so good for the psyche. So it would be reasonable for green, regular, and even hardened 'Mechwarriors to begin buckling under fire if the situation gets intense enough. It'd be a bit more to keep track of though. Possibly worth an entirely new thread if I pursue it.