There are many ways in wordpress to reduce the cpu usage, first of all uninstall any plugin that you think is unnecessary and use smallest amount of plugins possible. So for example instead installing yoast plugin which uses a lot of cpu each time you load a post, you should try to do all the process this plugin does yourself for each post because using plugins causes lots of cpu usage in wordpress and you can not run your wordpress with lots of plugins inside a shared host. There is one plugin that you need to install to monitor cpu usage :
https://wordpress.org/plugins/wp-server-stats/ , install this plugin and then ask your provider for maximum allowed usage (it is usually the average load and not the cpu usage percent) and use this plugin to monitor the cpu usage and load average.
So after uninstalling plugins you need to make sure that wordpress core is using cpu as less as possible, for that there are some tips :
1. Compress your images, if you are using lots of images in your template then compress the image as much as possible. This also reduces the bandwidth usage and it is good for shared hosting. There are many tools and online service which can do that thing for you just use google to find some.
2. Use latest version of wordpress and always check for bugs in each release, some bugs in releases causes lots of cpu usage so always monitor for the bugs in your current version and if you find some bugs that are causing high cpu usage update your version. Here you can follow the latest bugs :
https://core.trac.wordpress.org/
3. Caching ! this is very important both for cpu and memory usage. Always use a caching plugin for example this one : ttps://wordpress.org/plugins/w3-total-cache/ is a good one but there are many other available as well. Caching will load your website from cache as much as possible so contents are not creating dynamically each time and this saves a lot of resource usages and is really helpful inside shared hostings. After using a cache plugin you should see a lot of difference in cpu usage and if you are not seeing that difference make sure you have configured your plugin correctly.
4. Use a cdn, using a cdn for serving static files like .js and css files can really help you to reduce the cpu usage for that check out cloudflare and similar service to find out how you can use them to server your contents using a cdn.
5. Disabling wordpress cron might decrease the cpu usage too, I have seen many people recommending this so I wrote it here too but I personally don't think it will decrease cpu usage that much because wordpress will run all those cron jobs when someone opens a page and so there shouldn't be a big difference.
Using these 5 methods you should be able to use shared hosts even free ones to host your website.