It is entirely possible with simple curve fitting exercises, which could be automated. Bearing in mind Juho's answer, some estimate must be better than no estimate whatsoever. And some estimate is certainly possible for many algorithms, especially those that don't have many major decision branches and always halt such as cryptographic ones, compression, etc.
Code your algorithm.
Provide a test framework around it that can feed in different values of $n$.
Run the algorithm and time it's execution for each $n$.
There are only a few generic complexities to choose from if you are not too concerned with a perfect analysis. A good example set is simply listed on the relevant Big $O$ Wikipedia page. And any analysis must be better than none.
Iterate through the generic $O$ formulae, curve fitting and choose the best fit using your favourite fitting technique. Some experience and black magic may be useful in pruning the set.
This may not be academic computer science, but that's how the military, economics, engineering and politics works in this world. Monte Carlo simulation is exactly this type of analysis. The following simple example from Wikipedia is another:-
We see that the run time is approximated to $O((log(n)^2)$ which is polylogarithmic time. The specificity of the example is important. It's entirely possible that this approximation would be impossible to compute algebraically due to the overwhelmingly complex architecture of a Pentium 3 processor.
Reiterating, something is better than nothing and this example proves that automated complexity analysis is not only possible, but can be rather simple.