Speaking from MSTest framework experience here, but why not have a base class for all test classes that has a [SetUp]. This will be automatically called for every test, so your driver creation code is in one place while every test will create its own driver object.
In leading software testing solutions providers a basic and simple approach is followed to handle and avoid such failures.
Below are the steps that can help you fix this issue
Parallel Execution needs to be thread safe.
If we are using action class then we can use other way to click like Java script execution etc.
creating multiple Jenkins jobs with different regression.xml files pointing to them
If each Jenkins job runs the test command but pointing to different tests then each should be spinning up its own WebDriver/Browser instance so the ElementClickInterceptedException might mean your app is in a different state than what the test code assumes. It's common that ...
Using the same webdriver for all tests in parallel execution defeats the purpose of concurrency. When you are using the same webdriver for two parallel tests, then webdriver calls will overlap for both tests.
So the execution flow will go like, webdriver will execute some steps for test-1 followed by some steps for test-2, then again some steps for test-1.