Could the starter relay do the same?
The relay powers the starter solenoid so it either works or doesn't.
The solenoid on the other hand has some large copper contacts that pit badly causing some internal resistance that reduces starter power. I would remove the whole starter and take the back cover off the solenoid (attached to the top of the starter). Check for pitting. Here is a link to what you should see.
Inexpensive Starter Replacement Look at pics in posts 54,
Link Removed
Link Removed
Post 105, showing solenoid attached to starter.
Link Removed
Post 129 showing both bad and new contacts
Link Removed
Post 157 showing another solenoid with pitted contact posts and pitted plunger
Link Removed
Link Removed
Thank you to the numerous fellows that posted these pics that I've borrowed for this thread.
Unless you have modified your engine, you should not have to increase starter size unless you want some future peace of mind and have extra $$ to spend. My stock starter and original battery spins my engine over with no problem and it's a 2012.
You stated that on the 2nd push of the start button, the engine spins fine. This confirms that the starter motor is ok and the contacts in the solenoid made good contact "that one time". However when it doesn't spin well, then the solenoid contacts are encountering too much resistance or pitting.
Check the contacts. It's cheap.