Can I ask for VFR flight following with waypoints to get to my destination, or does it have to be direct? (Heading changes needed to avoid sua, weather, etc.)
ATC has relatively large "bubbles" they need to protect for around IFR aircraft—3 miles or 1000 feet at lower altitudes, 5 miles or 2000 feet at higher altitudes. Therefore IFR aircraft are given very explicit clearances on what route or heading to fly at what altitude.
ATC does not have nearly as much responsibility for separating VFR aircraft. Only in Class B airspace are VFR pilots afforded airborne separation between VFR and IFR aircraft, and only in Class C airspace are they afforded separation from IFR aircraft—and in Class C airspace the separation is "the dots on the screen don't touch." Quite a far cry from a three-mile bubble.
So VFR aircraft are allowed to navigate and maneuver as desired, at whatever altitude is desired, in accordance with safety of flight and following all applicable FARs. Unless ATC issues a specific instruction, such as "Fly heading 360" or "Maintain VFR at 4,500," you do not need to fly at any particular heading or altitude.
However, if you are navigating using pilotage or airways and not following the magenta line on your GPS, it would be appreciated if you mention that so the controller isn't concerned when they see you thirty miles and fifty degrees off of what they think is your "on course" track. When you request flight following the controller makes an entry into the system and generates a flight plan that only has two fixes on it: Departure airport direct to destination airport. If you are not flying a direct route, they will often have to update your position in the system to make the automated handoffs between facilities work properly, and they may as well use your actual route.
When you call ATC requesting VFR flight following/advisories just advise the controller of your planned route of flight. Assuming there is no conflict with other traffic or airspace you should be able to fly the route of your choice.
If the controller determines that your route of flight (or a portion of your route) would conflict with other traffic or airspace he/she will let you know and provide alternate instructions accordingly.