Is There A Best Practice For Using Composer Packages Under The Addon?

I am developing some addons that require extra composer packages.
I know cscart already have composer packages, but it is a part of core files, so I don't want to mess with it.
What I did is init composer in the addon folder and required autoload.php file in func.php. This seems work but I am not sure this is the best practice.
Any suggestions?

Or register only required classes into container using service provider without including autoload.php?

Nope. not including autoload.php won't resolve namespace.

I always attach the necessary libraries to the package in the lib directory.
It seems that it would be best in addon.xml to add a function called during the installation which will download the necessary libraries.
Best regards