Go buy the cushy floor bath mats... the ones that are wonderfully soft when you step out of the tub...they have a rubber backside and the top is like a suede feeling material. Put that down under your seat cushions. Worked for us.
(and you could use the rubberized non-skid stuff you use for shelves ... put several layers down and run it from under the seat cushion...up the back of the seat cushion. Put the bottom seat cushion in first, hold the rubberized non-skid stuff out of the way and put the back cushion in place. That's what I did first before I tried the bath mat. Now it's all under there and the seat cushion is much nicer to sit on while it stays put.
Kathy