I had another prospect come to me with a website whose looks they love but whose performance they hate. It is always a crappy hand coded theme. It is very standard, I’ve found, for local WordPress developers to hand code themes. When I started learning WordPress, all of the books took me through the process of coding a theme. I learned how to code a theme. I know how to code a theme. Do I code themes? No. Why, because I am not a professional theme coder. Furthermore, the professional theme coders whose only job is to create and sell themes, are often not very good. Why? Just like you can learn to code with Ruby on Rails with little knowledge or competence at coding Ruby, you can learn to code WordPress themes without being a competent PHP and JavaScript coder. I have found that the great WordPress theme coders are also great PHP and JavaScript coders.
So how do you fix badly coded themes? The best way is to simply replace them with a well coded theme and then create a child theme to make an identical look. I’ve done that with several websites like MartyWalsh.com and A Maven’s World. The next best solution is to use a Child Theme of the bad theme. Then you can essentially overwrite all of the bad stuff with your child theme css, templates and functions.php files.