I had an idea about the melee attack. I don't know if it was propose, test or if it possible but here my idea.
This idea can give to different melee attack for the rifle an other weapons with bayonet. One with Bayonet and one with stock. Like the bipod concept on machine gun you can choose if your weapons would have a bayonet or not (only for weapons with bayonet, because weapons like colt or BAR will have only one melee attack, the one with the stock)
Now how it should work. After you have your loader empty, the gun shouldn't reload automatically, but you should do the melee attack. For exemple: after You have shot your 8 bullet from your M1 Garand, the melee attack will take the place.
This will gave a melee attack more effective and it will give more variety.
PS: the weapons with bayonet will be less accurate but the bayonet will be more effective.