The least expensive, and foolproof, is a Jig Saw; check FaceBook Marketplace and/or estate/garage sales for inexpensive used models. Check out what I am talking about on this YT video.
Some will accept a locking bar clamp (get the smallest you can find) in place of a blade, but not all will have a big enough blade lock for a clamp. I use Painter's Blue Masking Tape wrapped around a wood-cutting blade, a couple of times around the blade, then wrapped around the bottle, with the bottle aligned with the blade. I adjust the speed to faster than I could ever shake a paint bottle, but I do NOT run it too fast as the tape will tear, and the bottle will fly away…
This will shake the bottle up/down, faster than humanly possible, longer than humanly possible. It will work best if you add some stainless steel BB's to each bottle, before you shake them -- this is especially helpful it you infrequently use the paint bottles, as they will agitate the paint even more thoroughly than the Jig Saw, by itself!
I paid around $10 USD for a used Jig Saw at an estate sale, years ago. I have used it to cut plywood, a few times, but I have used it to shake craft paint bottles, literally dozens of times. It just works; it is simple; and it is very inexpensive. Cheers!