It's the twin-rotor that can't do it!
To control the attitude you have to create a torque. You do that by offsetting the aerodynamic force (lift) from the centre of mass, and whether you do it by changing the lift distribution or shifting the centre of mass does not matter too much. Except you can achieve larger change by changing the lift distribution (via cyclic control).
Now however helicopter rotor is a gyroscope and that does complicate things quite a bit. The gyroscopic effect means that applying sideways torque makes the craft pitch and forward and aft torque makes it bank—the force must be applied 90° ahead of the direction you want to bank in the direction of the rotor rotation.
For cyclic, the links actually ride the swashplate ahead of the blades, so when you tilt the swashplate forward, the advancing blade pitches down, which makes it start to descend and reach the lowest point in front and everything pitches down nicely.
But when using weight-shift to get the same effect, with counter-clockwise-rotating rotor you'd tilt the rotor right (shift weight right, effectively). It would be rather weird, but with the controls properly rigged probably possible.
However on twin rotor, shifting weight to the right will make one rotor want to pitch forward, but the other one want to pitch aft. And they'll just twist and stress the shaft, but not do anything! The cyclic easily solves this, because is decreases the lift at different place on each rotor so they both want to tilt the same way, but weight shift can't do that.
So you could do it on a single-rotor craft. It would not really be simpler (tilting driven, spinning axles is not easy) and allow less manoeuvrability, but it would work. With counter-rotating rotors you can tilt each differently to get the desired effect (the tiltrotors do that). But with contra-rotating rotors you can't tilt each differently as they are on the same axis, so you can't do it this way at all and cyclic with a swash-plates and scissor-links is the only option.