I play both empire and dwarves.
I would think a heavy infantry empire army would struggle - what makes the dwarves work well is the armor save combined with 4 hits; and leadership 10. The dwarves can suck up punishment, and dance around the table as fast as a leadership 9 knight army. The Empire simply don't have any of that.
Empire relies on flagellents and knights for offensive work- going pure halbard means you really lack any real punch.
Shooting can be useful to break up the enemy, but can't win you the game. Taking 7 handgunner units is insane. The only way you can get some of them to shoot at the same target is the W formation; which will shatter on impact by knights/offensive infantry/dwarves/flyer flank charges. i.e. if you lucky you might get to kill one or two things with it before it dies horribly.
Hellblasters suffer from the same problem dwarf flame cannons do- its a one stand unit and an easy kill for pretty much anything.
Empire tends to play best as a combine arms force- roughly 40% by points in knights, 40% in halbards/flagellents and 20% cannons and crossbowmen. Crossbows die like flies, so I tend to make a virtue of that by using them as a screen for my infantry blocks- in particular Flagellents. The hope being if the enemy wipes out your infantry screen, they will be to hurt to advance into your flagellents and you can counter charge in your turn. At least it prevents the enemy from leading your flagellents around by the nose... Infantry fixes the enemy in place, knights work the flanks. A hero on a griffen can be handy. Wizards for scroll caddies. Pistoliers can make useful cannon escorts; once the enemy flyers have shot their bolt, they can go off and annoy the enemy. Remember to point one stand per unit of pistoliers in the escort role to the rear - it allows initiative charges front and rear.
Sub 2000 points cannons are distruptive to the enemy, not unit killers. Use lotharie's cannon article for targeting advice. Use cannons to punish infantry in columns... and try to keep your infantry in columns. You need the support to win fights. Your infantry sucks on a unit basis. In a brigade basis, in columns, its ok.
If I am fighting against the empire, anything less then 20% of their points on knights I am happy- the empire player is giving up to much of their best mobile assualt force to win.
Classic panzer tactics are the key- the knights need to boot the enemy fast to avoid to many losses. 2-3 units of knights per brigade means you can lose a stand or two and still have a powerful formation.
I generally go with 1.5 brigades to characters- You need at least two heros and a general. Right flank, left flank and center. The general needs to be at the point of main effort, but can swap back and forth along the line as needed. I generally start him in the center or where the most critical first moves are... if the knights/pistolers are slow the first turn or two with the flanking manuavers, its not a big deal. Getting the crossbows out a move or two for a screen, and getting the cannons onto a hill is important.
Empire is an attritional force. You need cheap halbards to bulk up your BP and extend a line past the enemy. Don't be afraid to throw away units to get the enemy into a bad position for your knights to do the real killing.
I've tried the gunline and fought against it... in warmaster I have never seen it work. It just takes to long to kill things v. close combat, and losing a stand here and there doesn't stop an attacker from getting into close combat.
YMMV.