First, a disclaimer: this is not the answer you're hoping for, but it is the right answer.
I have an EC2 instance running CPM/WHM
There's your first problem. Your first step to reaching your goal needs to be removing your dependency on these tools.
These control panels are pointy-clicky user tools, not systems administration tools. Remove those and use a real configuration management system to manage your server. I use Ansible for this, but there are many other very good, free options.
The problem is that the launch configuration does not reflect any
changes made to the file system following the instance launch.
Right, because you're making manual changes to the system instead of using a configuration management system, which makes automated, programmatic changes.
How can I automate a timely AMI creation + Launch Configuration update
?
You don't want to create new AMIs whenever you need to scale. Really, that's the complete wrong way to do this.
Any application state (uploaded files, sessions, databases, etc.) needs to be managed outside the auto-scaling group. Typical patterns here include using S3 for uploaded files, RDS for your database, etc. If you need a shared filesystem between the autoscaling nodes, then export a filesystem via NFS to those systems from a long-running (non-autoscaled) storage server.
Once you start using a proper configuration management system, all you need to do is configure an auto-scaling group with a launch configuration that has each node apply its own configuration on boot. Period, that's all there is to it. Details on how to do this are highly dependent on which CM you choose.