This is a topic that can easily get very deep, and I can see a few misconceptions have crept in already.
For a single cylinder engine, there is no way to get perfect balance, unless we start adding extra balance shafts. The rotating masses can be fully balanced, but the reciprocating masses can only be balanced by a similar reciprocating mass, or by adding a pair of counter rotating balance shafts. The usual approach is to fully balance the rotating masses and partly balance the reciprocating masses. This reduces the up and down forces at the expense of adding forces at right angles in the plane of rotation. (Fore and aft on a motorcycle for instance.) The balance factor that works best will depend on the details of the rest of the structure, for instance on a motorcycle fore and aft may be less annoying than up and down.
The next problem is if the balance weight cannot manage to be in the same plane as the unbalanced forces, for instance on an overhung crank. This gives rise to a couple, even if the forces were otherwise equal and opposite. A
typical example would be on a 180 degree twin, eg most two stroke parallel twins and some of the Honda twins. (The CB350 had a 180 crank while the CB175 had a 360 degree crank.) The primary forces are equal and opposite to those from the other cylinder, but since they are out of line with each other, they give rise to a rocking couple, which is not ideal in a motorcycle frame. This is often referred to as dynamic balance, since it would appear balanced on a static knife edge testy but will vibrate like mad in service.
By adding more cylinders we can get rid of the rocking couple, for instance a four cylinder in line will cancel all of the primary unbalanced forces, as will a 90 degree V twin. This leaves us with the secondary forces. These are the result of connecting rod angularity. Because the connecting rods are not infinitely long, the pistons do not move with a simple harmonic motion. If you plot the waveform of the motion, it is more pointed at the top dead centre than at the bottom, and the force is slightly higher there. A Fourier analysis would show that the waveform contains even harmonics, eg at twice, four times, and so on of the original frequency. These forces cannot be balanced out by any weights rotating at the original crankshaft speed. They can be eliminated by cunning design. For instance, a horizontally opposed twin would eliminate them because the secondary forces from each cylinder would be opposed. Unfortunately, the horizontally opposed twin has a problem since it is not practical generally to have the cylinders on exactly the same axis, so that both the primary and the secondary forces are out of line and so create a couple.
Another consideration with all of this is trying to keep an even firing order. Uneven firing orders lead to torsional vibrations in the drive train, so even if you balance was otherwise perfect the result might not be as smooth as desired.
Brough came up with a way around this. You have two crankshafts so it looks like two horizontally opposed twins one above the other. However the connecting rods on each crankshaft share a common pin, so they are not opposed in the normal sense. The two crankshafts are geared together, so they turn on opposite directions, and all four pistons end up moving together, eg the left pair are at top dead centre when the right pair are at bottom dead centre. You would think this would give rise to massive imbalance, however each crankshaft has balance weights to fully balance both the rotating and reciprocating forces. These would then give rise to forces at right angles at mid stroke, but since the crankshafts are rotating in opposite directions, those forces balance each other out. The secondary forces also neatly cancel each other, and the firing order is even. There are other arrangements that can work, especially of you allow more cylinders.
John