If artpaint uses just load_add_on, that function searches in the whole ADDON_PATH, which is by default:
(with %A replaced by the path of the executable).
This means it is possible to install add-ons in any of these directories and they should be picked up. If that doesn’t work, then ArtPaint needs to be fixed
This makes it possible to put add-ons next to the application (in case they are specific to said app and not usable as generic things), or inside the non-packaged directory, if they are not in a package.