Put together an implementation. Works good on my hardware. Here were the required changes

dinput
  - always DIERR_ACQUIRED if trying to set autocenter and acquired
  - send a stop to all effects on acquire if autocenter is off

bus{sdl,udev}
  - enable autocenter on reset
  - disable autocenter on stop all effects

https://gitlab.winehq.org/wine/wine/-/merge_requests/4830

The prior code didn't DIERR_ACQUIRED if it was in exclusive mode, but Windows does. This behaviour is what makes it easy to implement as it means you only have to deal with autocenter during an acquire where you can just do a stop all effects as only autocenter is running.